• UIViewAnimation


    在ViewController.m中声明

    @interface ViewController ()

    @property (nonatomic, strong) UIView *myView;




    @end

    @implementation ViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
     
        
        //UIView层的动画分为: 代码块(begin...commit) , block块(常用)
        
        self.myView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
        self.myView.backgroundColor = [UIColor redColor];
        [self.view addSubview:self.myView];
        

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        
        //第一种(比较常用,)

    // 这里要写上(防止循环引用) 这个也可以__weak ViewController *myself = self;
        __weak typeof(self) pSelf = self;

     //第一个参数animateWithDuration:代表的是动画的执行时间
        //block块里面代表的是执行的动画
       [UIView animateWithDuration:2.0f animations:^{
            UIViewAnimation
            //设置frame有动画 点击屏幕后,宽高会发生变化
            pSelf.myView.frame = CGRectMake(100, 100, 200, 200);
           
     
           
          
           //改变bounds的时候也可以执行动画,但是是以试图的center为中心像两边扩充
         //  pSelf.myView.bounds = CGRectMake(0, 0, 200, 200);
          
            //设置视图的透明度
           pSelf.myView.alpha = 0.1;
          
          //中心
    //pSelf.myView.center = pSelf.view.center;

           
            //设置边框
     //pSelf.myView.layer.borderWidth = 10;

        }];

      

    ******************************************第二种(在第一种的基础之上添加了一个参数)*********************************************************

     //第一个参数:代表的时间
        //第二个参数:block代表执行的动画
        //第三个参数:block代表动画完成
        [UIView animateWithDuration:1.0f animations:^{
          
                pSelf.myView.backgroundColor = [UIColor greenColor];
       } completion:^(BOOL finished) {
          
         
           //这里的代码不会当作动画执行
           pSelf.myView.backgroundColor = [UIColor redColor];
        }];
      

    //************************************第三种(添加一个延迟)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         **********************************************
        
        //第一个参数:代表的执行时间
        //第二个参数delay:代表的是延迟多久执行
       //第三个参数:代表的是动画的一些特效(此处填的是重复执行)

    //点击鼠标后开始执行的东西
        [UIView animateWithDuration:2.0f delay:1.0f options:   UIViewAnimationOptionRepeat  animations:^{
           
            pSelf.myView.center = pSelf.view.center;
            pSelf.myView.backgroundColor = [UIColor greenColor];
           

           //鼠标屏幕后,接下来要执行的东西
           } completion:^(BOOL finished) {
           
           pSelf.myView.backgroundColor = [UIColor yellowColor];
          
        }];

    //**********************************第四个******************************************************************
        //usingSpringWithDamping :0~1 ,值越小,越明显 ,代表的是阻尼系数,值越大,效果越小
        //initialSpringVelocity:代表的是初始速度

    //点击鼠标后开始执行的东西
      [UIView animateWithDuration:2.0f delay:0 usingSpringWithDamping:0.2 initialSpringVelocity:50 options:UIViewAnimationOptionRepeat animations:^{
          
            pSelf.myView.frame = CGRectMake(100, 300, 200, 100);
     
          
           //鼠标屏幕后,接下来要执行的东西
        } completion:^(BOOL finished) {
           
           
            pSelf.myView.backgroundColor = [UIColor yellowColor];
          
       }];
      

     //********代码块
        
       //第一个参数:代表的是动画的名字
        //第二个参数:代表的是上下文相关的,目前没用,以后不确定
        [UIView beginAnimations:nil context:nil];
        
        //从当前状态开始
        [UIView setAnimationBeginsFromCurrentState:YES];
        
        //设置动画在开始和结束的时候的一些特效
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        
        //设置动画的持续时间
        [UIView setAnimationDuration:3.0f];
        
       //设置动画的延迟时间
        //[UIView setAnimationDelay:10.0f];
        
        
        //设置动画的重复次数
        [UIView setAnimationRepeatCount:1000];
        
        //设置动画的代理人
        [UIView setAnimationDelegate:self];
        
        //设置动画将要开始,会执行的SEL方法
        //[UIView setAnimationWillStartSelector:@selector(<#selector#>)];
        //设置动画将要结束,会执行的SEL方法
        //UIView setAnimationDidStopSelector:@selector(<#selector#>);
        self.myView.backgroundColor = [UIColor greenColor];
        
        self.myView.frame = CGRectMake(100, 100, 200, 200);
        
        //提交动画,才会执行动画
        [UIView commitAnimations];

      
        //*****************UIView切换的动画(不常用)
        //第一个参数:要变没的视图
        //第二个参数:要变出的视图
        //第三个参数:变出的动画动作
        


        [UIView transitionFromView:<#(UIView *)#> toView:<#(UIView *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> completion:<#^(BOOL finished)completion#>];

        //比较常用的
     //可以配合着切换tableview与collectionView

    [UIView transitionWithView:<#(UIView *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>]
     
    }

  • 相关阅读:
    结对编程之附加题:单元测试
    机器学习第二次作业
    第一次作业
    机器学习第二次作业
    机器学习第一次个人作业
    软工实践个人总结
    第08组 Beta版本演示
    第08组 Beta冲刺(5/5)
    第08组 Beta冲刺(4/5)
    第08组 Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/Coder-GT/p/4875869.html
Copyright © 2020-2023  润新知