1

我有一个导航控制器,里面有几个视图控制器。在第一个视图控制器(应用程序的初始控制器)中,我执行了一个动画,它移动了两个 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];

据我所知,我在这里没有做任何时髦的事情,因此感谢您提供任何帮助。

4

0 回答 0