美文网首页
8.24 Animation 简单动画

8.24 Animation 简单动画

作者: jayck | 来源:发表于2016-09-07 20:55 被阅读11次
    import UIKit
    
    class ViewController: UIViewController {
        @IBOutlet weak var redView: UIView!
        @IBOutlet weak var blueView: UIView!
        
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
        }
        
        
        @IBAction func didStart(sender: UIButton) {
    //        UIView.animateWithDuration(3) {
    //            self.redView.frame = CGRect(x: 300, y: 300, width: 100, height: 100)         更改红色视图坐标及颜色
    //            self.redView.backgroundColor = UIColor.blueColor()
    //            
    //        }
    //        执行时长,执行的内容,结束后做什么
    //        UIView.animateWithDuration(5, animations: { 
    //            self.blueView.frame = CGRect(x: 50, y: 50, width: 100, height: 100)    更改蓝色视图坐标
    //            }) { (completion) in
    //                print("动画执行完了")
    //        }
              时长,延迟多少秒执行,执行的可选方法,执行的内容
    //        UIView.animateWithDuration(5, delay: 3, options: [.CurveEaseInOut, .Autoreverse], animations: {
    //            self.blueView.backgroundColor = UIColor.yellowColor()
    //            self.blueView.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
    //            }) { (completion) in
    //                print("The End")
    //        }     
    

    注释了的代码为写法之一,编译运行,看到两个视图颜色位置均有变化

    Paste_Image.png Paste_Image.png Paste_Image.png

    使用UIVIew.setAnimation的方法做动画效果

    //        1.开始设置动画
            UIView.beginAnimations("first", context: nil)
            
    //        2. 设置动画属性
            UIView.setAnimationDuration(5)     //时长几秒
            UIView.setAnimationRepeatCount(2)  //重复几次
            UIView.setAnimationDelegate(self)  //设置代理方法所在的对象
            UIView.setAnimationWillStartSelector(#selector(animateDidStart(_:context:)))
          UIView.setAnimationDidStopSelector(#selector(animateDidStop(_:finished:context:)))
            
    //        3.设置目标属性
            self.redView.backgroundColor = UIColor.grayColor()
            
    //        4.提交动画
            UIView.commitAnimations()   
        }
        
        func animateDidStart(animationID: NSString, context: UnsafePointer<Void>) {
            print("will start")
        }
        //NSNumber
        func animateDidStop(animationID: NSString, finished: Bool, context: UnsafePointer<Void>) {
            print(finished)
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }
    

    编译运行,看到红色方块用5秒变化成了灰色

    Paste_Image.png Paste_Image.png

    相关文章

      网友评论

          本文标题:8.24 Animation 简单动画

          本文链接:https://www.haomeiwen.com/subject/xptsettx.html