我有一个导航控制器,里面有几个视图控制器。在第一个视图控制器(应用程序的初始控制器)中,我执行了一个动画,它移动了两个 UIImageView,并淡入了一些额外的 ui 元素。现在,当我推动下一个视图控制器然后返回到最初的视图控制器时,转换消失了,图像视图与从情节提要加载时的位置完全相同。但是,附加的 ui 元素仍然可见,我在某些 UITextField 中输入的文本也是如此。所以视图控制器并没有完全重置到它的初始状态,但是以某种方式执行的动画被撤消了。谁能告诉我这是否是常规行为,如果是的话,我该如何保留这些转换?
更多披露:我只是在按下按钮时启动常规动画......
[UIView animateWithDuration:0.4
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
self.firstView.center = firstCenter;
self.secondView.center = secondCenter;
}
completion:^(BOOL finished) {
// Upon complection fade in additional ui elements
[UIView animateWithDuration:0.4
animations:^{
self.firstElement.alpha = 1.0;
self.secondElement.alpha = 1.0;
self.thirdElement.alpha = 1.0;
}
completion:^(BOOL finished) {
[self.activityIndicator stopAnimating];
}];
}];
...然后在按下另一个按钮后按下下一个视图控制器。
[self.navigationController pushViewController:_nextViewController animated:YES];
据我所知,我在这里没有做任何时髦的事情,因此感谢您提供任何帮助。