代码之家  ›  专栏  ›  技术社区  ›  HansPinckaers

使用UIViewAnimationTransitionFlip闪烁动画

  •  0
  • HansPinckaers  · 技术社区  · 15 年前

    我有一个包含两个子视图的containerview。我想从一个转到另一个。问题是出现了某种闪烁。它不会在iPhone 3GS上发生,但在模拟器和iPhone 3G上: http://www.hanspinckaers.com/upload/Flickering.png

    有人知道为什么会这样吗?

    这是代码:

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration: 0.75];
    [UIView setAnimationDidStopSelector:@selector(afterAnimationProceed)];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.containerView cache:YES];
    
    if(self.mapViewController.view.superview){      
        [self.mapViewController.view removeFromSuperview];
        [self.containerView addSubview:self.tableController.view];
    } else {
        [self.tableController.view removeFromSuperview];
        [self.containerView addSubview:self.mapViewController.view];
    }
    
    
    [UIView commitAnimations];
    

    汉斯

    2 回复  |  直到 15 年前
        1
  •  4
  •   drunknbass    15 年前

    仅供参考:闪烁通常发生在2+个独立动画工作时,尝试将它们全部放入一个动画块并提交组动画。

        2
  •  0
  •   deanWombourne    15 年前

    也许在进行转换之前禁用用户交互和停止任何滚动等功能会有帮助?

    山姆