UIView animateWithDuration 使用详解

转载 2012年03月22日 16:53:45

转自:http://xmuliushuo.com/archives/20


在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果。当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方法。

函数原型:

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

其中,

  • duration为动画持续的时间。
  • animations为动画效果的代码块。

下面是可以设置动画效果的属性:

frame bounds center transform alpha backgroundColor contentStretch


例如一个视图淡出屏幕,另外一个视图出现的代码:

[UIView animateWithDuration:1.0 animations:^{
        firstView.alpha = 0.0;
        secondView.alpha = 1.0;
}];
  • completion为动画执行完毕以后执行的代码块
  • options为动画执行的选项。可以参考这里
  • delay为动画开始执行前等待的时间

如何实现连续的动画?
可以在completion代码块中添加动画。
下面是实例代码:

[UIView animateWithDuration:2.0
                 animations:^{
                     oldImageView.alpha = 0.0;
                     newImageView.alpha = 1.0;
                     //imageView.center = CGPointMake(500.0, 512.0);
                 }
                 completion:^(BOOL finished){
                     [UIView animateWithDuration:4.0
                                      animations:^{
                                          newImageView.center = CGPointMake(500.0, 512.0);
                                      }];
                 }];

具体效果就是一幅图片渐渐消失,另一幅图片出现,然后图片的位置移动。


IOS开发笔记UIView使用animateWithDuration控制页面效果

引言:最近学习了一些页面的跳转动画效果。使用的是UIview的animateWithDuration方法。当然之前的beginAnimations也是可以实现的。   比如一:从屏幕下部往...
  • daiyelang
  • daiyelang
  • 2013年12月03日 13:38
  • 2511

如何有一个处理程序重复的UIView animateWithDuration

转载自: http://zhidao.baidu.com/link?url=YsSDzoiAJ5n-Oc8uk_tpMWiE1WD1L9ixKGDHB8UJnR7lC9fTxwuClXbudIh-Fg...
  • chenyong05314
  • chenyong05314
  • 2015年03月30日 19:42
  • 789

UIView animateWithDuration

函数原型: + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animation...
  • st646889325
  • st646889325
  • 2016年12月14日 11:54
  • 408

关于UIView的方法animateWithDuration:animations:completion:的说明

今天遇到一个问题,具体问题就不细说了,总之是UIView的动画导致的。 研究结果表明,UIViewController被挡住或没显示出来时,用UIView的静态方法animateWithDuratio...
  • yjh4866
  • yjh4866
  • 2016年07月11日 18:49
  • 3065

UIView animateWithDuration 使用详解

转自:http://xmuliushuo.com/archives/20 在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果。当然,以往的begin/co...
  • cjsunlight
  • cjsunlight
  • 2013年08月28日 11:33
  • 324

使用constraint时, animateWithDuration不起作用的解决方法

调用UIView的animateWithDuration设计简单的动画是很方便的,但使用uiconstraint进行界面设计时,animateWithDuration的动画不起作用。         ...
  • u010140921
  • u010140921
  • 2015年01月09日 21:46
  • 2709

连续执行UIView的animateWithDuration:delay:options:animations:completion出现的问题

转载自:   http://www.cnblogs.com/zhudong/p/4207810.html 问题背景      自定义实现UIKeyboard的accessoryView...
  • chenyong05314
  • chenyong05314
  • 2015年03月30日 19:38
  • 1173

如何停止UIView的animation

旋转通常有两种方法:CAAnimation 和 UIView的animation 两者的主要区别在于:当你想控制或停止某一动画的时候,那么只能用CAAnimation UIView的animatio...
  • lsgcsh
  • lsgcsh
  • 2015年03月09日 23:13
  • 5832

iOS CoreAnimation专题——原理篇(二) UIView block动画实现原理

上一章中我们深入研究了UIView和它持有的那个CALayer之间的关系,知道了我们对UIView的各种属性的操作实际上都是间接的操作了CALayer对应的属性。 这一章中我们将进一步探究iOS动画...
  • u013282174
  • u013282174
  • 2015年12月10日 11:17
  • 2836

动画---UIView动画

iOS的动画有很多种 其中UIView的动画的动画比较简单 先介绍一下UIViewAnimationOptions UIViewAnimationOptionLayoutSubviews //提交...
  • wsxzk123
  • wsxzk123
  • 2015年03月25日 01:36
  • 2061
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIView animateWithDuration 使用详解
举报原因:
原因补充:

(最多只允许输入30个字)