[color=red]注 : 文章不断更新,转载文章请加上作者[/color]
UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持,执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图
下面列举一些常用方法
[size=medium]1. 头尾式[/size]
[size=medium]2.Block块[/size]
[color=red]官方建议使用block块创建动画[/color]
block块的优点:
1. 性能比较好
2. 代码结构性较好
另外几个方法:
[size=medium]3.动画一些常用设置属性[/size]
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]