我的iOS学习之路(四):动画设置
在ios的开发过程中,经常需要对视图控件进行变化,如大小,颜色,旋转等,这是如果直接将变化结果呈现出来,就显得不够友好,所以我们通常会使用动画,让用户能够看到变化的过程。
使用动画通常有两种方式,一种是在代码块之间进行,另外一种是使用block块。
接下来先介绍使用代码块
1 //使用代码块只需要将要进行变化的控件,在变化时的操作放在代码块中 2 //动画头部 3 [UIView beginAnimations:Nil context:Nil]; 4 //动画完成时间 5 [UIView setAnimationDuration:1]; 6 //此处对label改变frame 7 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 }];
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。