viewDidLoad 中的动画

Posted

技术标签:

【中文标题】viewDidLoad 中的动画【英文标题】:Animation in viewDidLoad 【发布时间】:2015-05-01 18:37:31 【问题描述】:

出于某种原因,我的动画仅在通过IBAction 执行时才有效,而通过viewDidLoad 则无效。我希望这些图像在 view 加载时立即开始动画。

myImageView.animationImages = [NSArray arrayWithObjects:
                              [UIImage imageNamed:@"image1.png"],
                              [UIImage imageNamed:@"image2.png"], nil];
[myImageView setAnimationRepeatCount:0];
myImageView.animationDuration = 2;
[myImageView startAnimating];

【问题讨论】:

将代码移动到viewDidAppear或viewWillApear,在viewDidLoad中还没有布局。 viewWillAppear 将得到相同的结果,因为视图会出现并且我认为动画应该是可见的 ;-) viewDidAppear 是正确的地方 谢谢!像魅力一样工作 【参考方案1】:

将您的动画从viewDidLoad 移动到viewDidAppear。在完成布局之前,您无法为视图的组件设置动画。

【讨论】:

【参考方案2】:

可能viewDidLoad 为时已晚,无法满足您的需求。

我使用viewDidLayoutSubviews获得了最好的结果。

【讨论】:

以上是关于viewDidLoad 中的动画的主要内容,如果未能解决你的问题,请参考以下文章

viewDidLoad/viewDidAppear 的 UIView 动画?

UIView 核心动画在 viewdidLoad 方法中不起作用?

UIView核心动画无法在viewdidLoad方法中工作?

Swift - UIScrollView 滚动动画在 viewDidLoad() 中不起作用

iOS - 约束在 viewdidload 中以意想不到的方式动画?

iOS9.0中的动画锚样式约束