首页 > 代码库 > 我的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学习之路(四):动画设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。