`
cwlong
  • 浏览: 10573 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

总结 ﹣ IOS的动画

阅读更多
注 : 文章不断更新,转载文章请加上作者


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

下面列举一些常用方法

1. 头尾式

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

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


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

    
[UIView commitAnimations];




2.Block块

官方建议使用block块创建动画
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 









3.动画一些常用设置属性
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics