查看翻转问题

时间:2011-01-19 01:57:10

标签: iphone cocoa-touch uiview uiviewcontroller

我有一个视图控制器控制器控制两个视图的翻转。这与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设置为适当的视图。

这里有什么问题吗?

1 个答案:

答案 0 :(得分:0)

既然看起来你的观点很多,那么缓存是否会妨碍你呢?如果设置缓存:是,将使用原始视图的缓存图像制作动画,并且仅在动画完成后重新绘制新视图。尝试设置缓存:否