我有一个导航控制器,里面有几个视图控制器。在第一个视图控制器(应用程序的初始控制器)中,我执行一个动画,它移动两个UIImageViews,并淡化一些额外的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];
据我所见,我在这里没有做任何时髦的事情,所以感谢任何帮助。