Joe*_*her 4 objective-c uiimageview ios
所以我有这段代码可以无限次地为一组图像设置动画,但是一旦我尝试限制它的动画次数,它就根本不起作用。甚至不显示图像。
有效的代码:
animatedMap.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"0.gif"],
[UIImage imageNamed:@"1.gif"],
[UIImage imageNamed:@"2.gif"],
[UIImage imageNamed:@"3.gif"],
//etc...];
animatedMap.animationDuration = 20.0f;
animatedMap.animationRepeatCount = 0;
[animatedMap startAnimating];
Run Code Online (Sandbox Code Playgroud)
不起作用的代码:
animatedMap.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"0.gif"],
[UIImage imageNamed:@"1.gif"],
[UIImage imageNamed:@"2.gif"],
[UIImage imageNamed:@"3.gif"],
//etc...];
animatedMap.animationDuration = 20.0f;
animatedMap.animationRepeatCount = 1;
[animatedMap startAnimating];
Run Code Online (Sandbox Code Playgroud)
这似乎是非常奇怪的行为?
我注意到了同样的行为,我的解决方案是将动画代码的开头放在不同的地方。
对我来说,它是一个视图控制器,所以我imageView.startAnimating()输入viewWillAppear:而不是viewDidLoad:.
我不是 100% 理解问题是什么,但可以假设动画不会触发,因为通过将 设置animationRepeatCount为 1,您的“一个动画”发生在视图显示之前。为了更多的技术,在CATransaction::Commit同一个动画被执行之前显示的视图,而不是视图时被显示出来。
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |