您的位置:首页 > 移动开发 > IOS开发

iOS开发日记55-隐式与显式动画

2015-12-25 14:22 435 查看
今天博主有一个隐式与显式动画的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

iOS开发中的动画分为两种:一种为UIView动画,又称隐式动画,动画后frame的数值发生了变化.另一种是CALayer动画,又称显示动画,动画后模型层的数据不会发生变化,图形回到原来的位置.但是在实际开发中,因为UIView可以相应用户交互,所以UIView动画用的多.

一.UIview的动画

1.实现方式:动画块,block

begin

//设置动画效果 修改属性值,动画时长等等

conmmit

2.属性动画,过渡动画

①属性动画支持6种:transform 结构体 6个

②过渡动画:容器视图,两个子视图

二.CALayer动画 == 核心动画 == CAAnimation动画

CAAnimation 抽象类

animation

①.CAAnimationGroup 组合动画

②.CATransition 过渡动画

③.CAPropertyAnimation 属性动画(layer的属性)

animationWithKeyPath

CABasicAnimation 基本动画

fromValue toValue

CAKeyFrameAnimation 关键帧动画

values

下面贴出UIView动画的代码,与大家分享,CALayer动画,也就是Core Animation各位看官可以自行百度.

1.

//使用动画块设置动画

//开始设置动画 第一个参数:动画的名字 第二个参数:可以用来传值

[UIView beginAnimations:@"哈哈" context:nil];

//设置动画的时长

[UIView setAnimationDuration:1.5];

[UIView setAnimationRepeatAutoreverses:YES];

//根据需求设置视图的属性变化

_showView.backgroundColor=[UIColor grayColor];

_showView.center=CGPointMake(200, 200);

//提交动画设置,开始执行动画

[UIView commitAnimations];

2.

//使用Block设置动画

[UIView animateWithDuration:1.5 animations:^{

//动画效果设置

_showView.backgroundColor=[UIColor yellowColor];

//延时

[UIView setAnimationDelay:1.0];

//可以通过设置transform实现视图移动

} completion:^(BOOL finished) {

//动画完成后的设置

NSLog(@"动画完成");

}];
http://www.cocoachina.com/cms/wap.php?plg_nld=1&action=article&id=7597&plg_auth=1&plg_uin=1&plg_dev=1&plg_nld=1&plg_usr=1&plg_vkey=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: