Mad*_*dhu 3 animation uiimageview ios
我正在开发一个应用程序,需要在1小时内将imageview的宽度从320减少到0.为此,我使用以下代码
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3600];
newRect.size.width = 0;
imgView.frame = newRect;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
如果我们停留在相同的视图控制器中,如果用户导航到其他一个viewcontoller,如何处理动画,则动画启动后,它可以正常工作.
除此之外我还有一个问题 - 在动画期间,imageview中的图像看起来像整个动画中缩小我正在使用相同的图像,所以我想在动画期间更改imageView中的图像我该如何实现这一点.
除了动画之外还有其他任何方法吗?
任何帮助都会得到赞赏.
控制器和视图的生命周期不允许您这么简单地执行此操作.您正在使用的对象可以并且将被系统解除分配(如果它们当前不再需要),因此您启动的动画基本上被丢弃了.
您必须将动画的进度存储在某个位置,例如在文件或CoreData数据库中,以使其在该视图的实例化中保持不变.根据具体情况,一旦开始动画就可以存储动画的开始时间.然后,viewWillAppear您可以加载它并计算进入该一小时的进度并从该点开始一个新动画.对于用户来说,它看起来好像动画已在后台进行.
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |