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

        }

     

     
     
  • 相关阅读:
    TapTap推广统计逻辑
    广告推广测试
    背压(Backpressure)机制
    工作相关资料
    ElasticSearch问题记录
    bfrd collector性能排查
    Ubuntu13.10下安装HADOOP
    Hadoop各商业发行版之比较
    Behave用户自定义数据类型
    Behave step matcher
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7457881.html
Copyright © 2011-2022 走看看