使用翻转动画时奇怪的图形故障

时间:2009-07-23 19:30:23

标签: objective-c uiview core-animation

提交翻转动画时我遇到了一个奇怪的错误。这三个条形显示出来,几乎就像没有绘制的条纹一样。

我有一个屏幕截图,显示我在说什么。这些线总是在同一个地方,并显示在两侧。

graphics glitch screenshot http://img263.imageshack.us/img263/6079/animationglitch.jpg

以下是我正在使用的代码,我以前使用它没有问题,所以我不确定它们是什么。

-(void)switchView
{   
    BOOL isChangingToMapView = _mapViewController.view.superview == nil;
    CGContextRef context = UIGraphicsGetCurrentContext();


    [UIView beginAnimations:nil context:context];
    [UIView setAnimationDuration:1];
    [UIView setAnimationTransition:(isChangingToMapView ? UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight) forView:self.view cache:YES];

    if (isChangingToMapView) 
    {
        [_mapViewController viewWillAppear:YES];
        [_listViewController viewWillDisappear:YES];

        [_listViewController.view removeFromSuperview];
        [self.view insertSubview:_mapViewController.view atIndex:0];

        [_listViewController viewDidDisappear:YES];
        [_mapViewController viewDidAppear:YES];
    } 
    else 
    {
        [_listViewController viewWillAppear:YES];
        [_mapViewController viewWillDisappear:YES];

        [_mapViewController.view removeFromSuperview];
        [self.view insertSubview:_listViewController.view atIndex:0];

        [_mapViewController viewDidDisappear:YES];
        [_listViewController viewDidAppear:YES];
    }

    [UIView commitAnimations];
}

关于可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

好吧,我把这个问题拖了一会儿然后继续前进。然后我有一个好主意在实际手机上试试。果然它在手机上正常运行。

稍微提醒一下,如果您在模拟器上遇到奇怪的问题,至少在手机上试用你的应用程序,然后浪费很多时间来追逐模拟器发出的错误。