2010-01-21 120 views
0

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

有没有人知道为什么会发生这种情况?

这是代码:

[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]; 

提前感谢!

汉斯

+1

http://www.hanspinckaers.com/upload/Flickering.zip,在这里你可以看到它发生。 – HansPinckaers 2010-01-22 21:15:10

回答

0

我无法重现你的问题,但我得到的问题,如果实现代码如下或MapView的是过渡启动时滚动。

也许禁用用户交互并在转换之前停止任何滚动等操作将有所帮助?

除此之外,对不起!

山姆

+0

感谢您的回复,但没有奏效。我将制作一个包含此问题的项目文件,并在今天晚些时候发布。也许这与框架的大小有关?我真的不知道。 – HansPinckaers 2010-01-22 11:22:55

+0

在发生的地方添加了一个项目文件。 – HansPinckaers 2010-01-22 21:15:52

+0

你有没有找到解决这个问题的解决办法?我有一个类似的。 – 2011-01-20 21:28:23

4

FYI闪烁,通常当你有2+独立caanimations工作,尽量把他们都到一个单一的动画块并提交组动画发生。

+0

这给我提示如何解决我遇到的一个轻弹感谢。 – Gob00st 2012-01-23 02:51:36