首页 > 代码库 > 我的iOS学习之路(四):动画设置

我的iOS学习之路(四):动画设置

  在ios的开发过程中,经常需要对视图控件进行变化,如大小,颜色,旋转等,这是如果直接将变化结果呈现出来,就显得不够友好,所以我们通常会使用动画,让用户能够看到变化的过程。

  使用动画通常有两种方式,一种是在代码块之间进行,另外一种是使用block块。

  接下来先介绍使用代码块

 

1   //使用代码块只需要将要进行变化的控件,在变化时的操作放在代码块中2           //动画头部3          [UIView beginAnimations:Nil context:Nil];4          //动画完成时间5         [UIView setAnimationDuration:1];6          //此处对label改变frame7         UILabel *label.frame = CGRectMake(80, 480, 60, 30);8           //动画尾部,提交、执行动画9         [UIView commitAnimations];  

 

  在使用block来进行设置动画,有两种方法,第一种是通过调用[UIView animateWithDuration:NSTimeInterval animations:^(void)animations]方法

  

1 //将需要进行动画操作的代码放入到块当中2 //其中第一个参数为动画时间3 [UIView animateWithDuration:1 animations:^{4 //            label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, width, HEIGHT);5 //        }];

  第二种方法是调用

[UIView animateWithDuration:(NSTimeInterval) animations:^(void)animations completion:^(BOOL finished)completion]方法,此方法为上一个方法的加强版,在执行完动画操作后,会执行最后一个块

 1     UIView *view = [[UIView alloc] init]; 2     view.frame = CGRectMake(0, 0, 100, 100); 3     view.backgroundColor = [UIColor greenColor]; 4     //使用block实现动画效果 5 //    [UIView animateWithDuration:5 animations:^{ 6 //        view.frame = CGRectMake(220, 330, 40, 40); 7 //        view.backgroundColor = [UIColor redColor]; 8 //    }]; 9     //一个动画块执行完后,继续执行最后一个块10     [UIView animateWithDuration:5 animations:^{11         view.frame = CGRectMake(220, 330, 40, 40);12         view.backgroundColor = [UIColor redColor];13     } completion:^(BOOL finished) {14         [UIView animateWithDuration:5 animations:^{15             view.frame = CGRectMake(0, 0, 100, 100);16             view.backgroundColor = [UIColor yellowColor];17             view.alpha = 0.1;18         }];19     }];

 

我的iOS学习之路(四):动画设置