zoukankan      html  css  js  c++  java
  • swift开发笔记13

    let v: String! = str    // 疑问,后面加!,什么意思?表示这个常量一定有值

    Swift控制流: 如何理解 if let 与guard?

    https://www.zhihu.com/question/36448325
    语法糖
    func doSomething(str: String?)
    {
        if let v = str
        {
            // use v to do something
        }
    }
     
    func doSomething(str: String?)
    {
        guard let v = str else { return }
    
        // use v to do something
    }

                // set up mask

                mask = CALayer.init()

                mask?.contents = UIImage.init(named: "twitterBird")?.cgImage

                mask?.position = window.center

                mask?.bounds = CGRect.init(x: 0, y: 0, 100, height: 80)

                imageView?.layer.mask = mask

     

     

    func animateMask() -> Void {

            // init key frame animation

            let keyFrameAnimation = CAKeyframeAnimation.init(keyPath: "bounds")// 注意此key不是自定义的,KVO

            keyFrameAnimation.delegate = self

            keyFrameAnimation.duration = 10

            keyFrameAnimation.beginTime = CACurrentMediaTime() + 1

            

            // animate zoom in and then zoom out

            let initialBounds = NSValue.init(cgRect: (mask!.bounds))

            let secondBounds = NSValue.init(cgRect: CGRect.init(x: 0, y: 0, 80, height: 64))

            let finalBounds = NSValue.init(cgRect: CGRect.init(x: 0, y: 0, 2000, height: 2000))

            keyFrameAnimation.values = [initialBounds, secondBounds, finalBounds]

            // set up time interals

            keyFrameAnimation.keyTimes = [0, 0.3, 1]// 这是个线性时间比例,例如:0.3*10(总时间)=3,是从initialBounds到secondBounds的动画时间;

            

            // add animation to current view

            keyFrameAnimation.timingFunctions = [CAMediaTimingFunction.init(name: kCAMediaTimingFunctionEaseInEaseOut),CAMediaTimingFunction.init(name: kCAMediaTimingFunctionEaseOut)]

            mask!.add(keyFrameAnimation, forKey: "bounds")// 注意此key是自定义的,KVO

        }

     

    func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {

            imageView?.layer.mask = nil

        }

     

     
     
  • 相关阅读:
    【转】return 使用示例
    java基础_二维数组的行和列
    新版SQL授权用户时报错 near 'IDENTIFIED BY '密码' with grant option' at line 1
    GO kafka sarama 生产者 消费者 简单 实现
    Windows 安装kafka
    windows 连接nsq
    reflect: call of reflect.Value.NumField on ptr Value
    django 数据库 mysql 事务 处理
    python 类的继承
    python 中 insert 返回 None
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7457881.html
Copyright © 2011-2022 走看看