方法

2016-08-08  本文已影响0人  theDeskmateOfSb

用到的一些函数

1.取随机数的函数

number = Int(arc4random_uniform(100))+1

这是一个取1--100的随机数
2.取绝对值的函数

diff = abs(a-b)

表示取a和b 的绝对值
3.开根号的函数

var i = 16
Int(sqrt(Double(i)))
print(i)

输出结果i为4

一些用到的方法

1.让标签上字自适应的方法

label.adjustsFontSizeToFitWidth = true

2.让图片大小自适应

let image3=UIImage(named: "SliderTrackLeft")?.resizableImageWithCapInsets(insets)

发消息给图片让他大小可用
3.当多个视图控制器的时候返回上一个控制器

self.dismissViewControllerAnimated(true, completion:.None)

4.在视图控制器上添加网页

override func viewDidLoad() {
//这是一个自动执行的函数,也即是说当跳到这个页面的时候会自动大开你添的网页
        let url=NSURL(string: "http://www.runoob.com/html/html-tables.html")
        //这个统一资源标示符是👆
        let request = NSURLRequest(URL: url! )
        //请求是分配一个统一资源定位标示符
        myView.loadRequest(request)//给它一个请求
        //要在视图控制器上添加一个webview的框架
    }

5.用xcode画图
首先在视图控制器上添加一个画布

let canvans = Canvans(frame:self.view.bounds)
        canvans.backgroundColor = UIColor.clearColor()
        self.view.addSubview(canvans)

然后去新建一个文件cocoa ,选择uiview为父类的文件
接下来就是画图的一些方法了在里面是用贝塞尔曲线来画图的

画图方法

1.画直线

let lineBP = UIBezierPath()
        lineBP.moveToPoint(CGPointMake(50, 100))
        lineBP.addLineToPoint(CGPointMake(300, 200))
        lineBP.lineWidth = 5//线条粗细
        UIColor.blackColor().set()//线条的颜色
        lineBP.stroke()//这里可以选择空心或者实心

2。画矩形方框

 let rectBP = UIBezierPath(rect: CGRectMake(100, 200, 200, 400))//前两个表示坐标后两个表示宽高
        //设置线条颜色为红色
        UIColor.redColor().setStroke()
        //设置填充为黄色
        UIColor.yellowColor().set()
        //填充矩形区域
        rectBP.fill()
        //绘制矩形边框
        rectBP.stroke()

3.画圆弧

let arcBP = UIBezierPath(arcCenter: CGPointMake(150, 350), radius: 100, startAngle: 0, endAngle: CGFloat(M_PI_2), clockwise: false)
        UIColor.greenColor().set()
//        arcBP.stroke()
        arcBP.fill()

4.画椭圆

let ovalBP = UIBezierPath(ovalInRect: CGRectMake(100, 300, 100, 50))
        UIColor(red: 37.0/255.0, green: 67.0/255.0, blue: 128.0/255.0, alpha: 1).set()
        ovalBP.fill()

把椭圆后面两项改为一样就能变成圆了
5.画二次曲线

let quadBP = UIBezierPath()
        quadBP.moveToPoint(CGPointMake(50, 600))
        quadBP.addQuadCurveToPoint(CGPointMake(300, 600), controlPoint: CGPointMake(100, 300))
        quadBP.lineWidth = 3
        UIColor.grayColor().set()

6.画封闭曲线

let clouseBP = UIBezierPath()
        clouseBP.addArcWithCenter(CGPointMake(150, 200), radius: 100, startAngle:-CGFloat(M_PI), endAngle: 0, clockwise: true)
        clouseBP.addArcWithCenter(CGPointMake(150, 400), radius: 100, startAngle: 0, endAngle: CGFloat(M_PI), clockwise: true)
        //封闭整个曲线
        clouseBP.closePath()//这句很关键
        clouseBP.lineWidth = 10
        UIColor.redColor().set()
        clouseBP.stroke()

动画的方法

1。在控制器上给图片一个放图的框

 var imageView:UIImageView!
 imageView = UIImageView(frame: CGRectMake( x , y , 15, 25))//框的大小坐标
 imageView.image = UIImage(named: "runner0")//放一张图显示

要让图片动起来要添加动画的图片

imageView.animationImages = [UIImage(named: "runner0")!,
            UIImage(named: "runner1")!,
            UIImage(named: "runner2")!,
            UIImage(named: "runner3")!,
            UIImage(named: "runner4")!,
            UIImage(named: "runner5")!
        ]
//这是一个动画的方法,注意图片名字不能错,而且括号后面的感叹号和逗号不能丢
//动画的总持续时间
        imageView.animationDuration = 0.5
        self.view.addSubview(imageView)
        //开始动画
        imageView.startAnimating()

这样子图片回动起来但是,只会在一个地方动
我们需要添加一个时间控制器,让图片在屏幕上也动起来

var timer:NStimer
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "move", userInfo: nil, repeats: true)
//这里的move是一个函数,一个控制图片移动方向的函数
func move(){
        var frame = imageView.frame
        imageView.frame.origin.y += 5
        imageView.frame.origin.x += 20
        imageView.frame = frame
}

随记

控制输出位数

add.text = "\(String(format: "%.2f",jia))"

写动画的代码

override func viewDidLoad() {
        super.viewDidLoad()
        var imageView:UIImageView!//创建一个图片的对象
        //给图片初始化
        imageView = UIImageView(frame: CGRectMake(0, 0, 410,730))
        //给图片
        imageView.animationImages=[UIImage(named: "1")!,
            UIImage(named: "2")!,
            UIImage(named: "3")!,
            UIImage(named: "3")!,
            UIImage(named: "4")!,
            UIImage(named: "5")!,
            UIImage(named: "6")!,
            UIImage(named: "7")!
    ]
        imageView.animationDuration = 1//动画持续的时间
        self.view.addSubview(imageView)//把对象添加到view里面
        imageView.startAnimating()//开始动画
    }

点击空白取消第一响应

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        if admin.isFirstResponder()
        {
          admin.resignFirstResponder()
        }
        else if password.isFirstResponder()
        {
          password.resignFirstResponder()
        }
    }

指纹解锁解锁代码

{

override func viewDidLoad() {
    super.viewDidLoad()
    let errPointer = NSErrorPointer()
    let ctx = LAContext()//上下文类
    //判断设备是否支持指纹识别
    if ctx.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: errPointer){
        //Swift中允许将一个函数作为另一个函数的参数
        //evaluattePolicy方法的第三个参数是一个函数
        //该函数传参数时可以在花括号中写一个匿名函数传进去
        //该匿名函数通常也被称为“闭包”
        ctx.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "请输入指纹进行支付", reply: { (isOK, err) -> Void in
            if isOK {
                print("支付成功")
            }
            else{
                print("支付失败")
            }
        
        })
        
    }
    else{
        print("你的设备不支持指纹识别")
    }
       }

   }
上一篇下一篇

猜你喜欢

热点阅读