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

        }

     

     
     
  • 相关阅读:
    js跳出循环
    JavaScript prototype属性
    【DP专题】——洛谷P2279:消防局的设立
    转:android中dialog工具类的实现(多种dialog的创建)
    转:setContentView的时候,到底发生了什么
    转:Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别
    转:Android Studio中的Gradle是干什么的
    转:Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
    Android 学习
    com.baidu.navisdk.adapter找不到 在百度定位SDK的基础之上导入导航的SDK(针对新版本的坑!)
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7457881.html
Copyright © 2011-2022 走看看