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

总结 ﹣ IOS的动画

2015-07-26 11:14 549 查看
[color=red]注 : 文章不断更新,转载文章请加上作者[/color]


UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持,执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图

下面列举一些常用方法

[size=medium]1. 头尾式[/size]


//第一个参数是动画的标识,(一般为Nil)
//第二个参数附加的应用程序信息用来传递给动画代理消息
+ (void)beginAnimations:(NSString *)animationID context:(void *)context;

//结束动画,与beginAnimations连用
+ (void)commitAnimations;



[UIView beginAnimations:(NSString *) context:(void *)];

//这里放需要实现动画的效果
//例如 位置变换、大小变化、改变透明度、改变状态、改变视图层次、形变(即任何应用到视图上的仿射变换)。其中形变包括:旋转、缩放、位移。用transform属性值,可以达到形变的目的。


[UIView commitAnimations];




[size=medium]2.Block块[/size]

[color=red]官方建议使用block块创建动画[/color]
block块的优点:
1. 性能比较好
2. 代码结构性较好


//(NSTimeInterval)duration 该参数代表 动画执行的时间
//(void (^)(void))animations 该参数代表一个block代码块 ,要实现的动画的代码块写在这里
//(void (^)(BOOL finished))completion 该参数代表一个block代码块 ,要动画完成后,需要实现的代码写到这里

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;




//意思就是. 步骤1的动画用了1秒时间执行,然后执行步骤2的整个代码块,而代码块则用了1秒执行步骤3的动画,完成然后再执行步骤4的动作
[UIView animateWithDuration:1.0 animations:^{

// 这里设置动画(步骤1)

} completion:^(BOOL finished) {

// 动画播放完毕后的行为动作(步骤2)
[UIView animateWithDuration:1.0 animations:^{
//设置动画(步骤3)
} completion:^(BOOL finished) {
// 动画播放完毕后的行为动作(步骤4)
}];


}];


另外几个方法:

//(NSTimeInterval)duration 该参数设置动画执行时间
//(NSTimeInterval)delay 该参数设置动画延时执行时间.(经过多小秒后才执行该动画)
//(UIViewAnimationOptions)options 该参数设置动画的执行速度
//(void (^)(void))animations 该参数代表一个block代码块 ,要实现的动画的代码块写在这里
//(void (^)(BOOL finished))completion 该参数代表一个block代码块 ,要动画完成后,需要实现的代码写到这里

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion





[size=medium]3.动画一些常用设置属性[/size]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: