我有一个视图控制器控制器控制两个视图的翻转。这与iPhone中的手机应用程序类似,当您拨打电话并点按键盘项目时,视图会翻转。
现在,当我试图在某些选择上翻转视图时,它会正确翻转以显示我的第二个视图,但在第二个翻转时显示我的第一个屏幕,翻转不顺畅,我可以看到我的第一个视图翻转,留下来第二个,然后第二个视图消失,然后第一个视图出现。每次都会发生这种情况
下面是我在点击第一个视图以翻转到第二个视图时执行的代码:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:([self.mainView superview] ?
UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight)
forView:self.containerView cache:YES];
[self.mainView removeFromSuperview];
[self loadRequestView];
[UIView commitAnimations];
以下是点击第二个视图以翻转到第一个视图时执行的代码:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:self.containerView cache:YES];
[self.mainView removeFromSuperview];
[self loadLandingView];
[UIView commitAnimations];
loadRequestView和loadLandingView都将我的self.mainView设置为适当的视图。
这里有什么问题吗?
答案 0 :(得分:0)
既然看起来你的观点很多,那么缓存是否会妨碍你呢?如果设置缓存:是,将使用原始视图的缓存图像制作动画,并且仅在动画完成后重新绘制新视图。尝试设置缓存:否