Flickering animation with UIViewAnimationTransitio

2019-06-14 10:35发布

问题:

I have a containerview with 2 subviews. I want to flip from one to another. The problem is that some kind of flickering appears. It doesn't happen on the iPhone 3GS, but on the Simulator and the iPhone 3G: http://www.hanspinckaers.com/upload/Flickering.png

Does anyone know why this happens?

This is the code:

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

Thanks in advance!

Hans

回答1:

fyi flickering usually happens when you have 2+ seperate caanimations working, try to put them all into a single animation block and commit the groups animations.



回答2:

I can't reproduce your problem but I do get issues if the tableview or mapview is scrolling when the transition starts.

Perhaps disabling user interaction and stopping any scrolling etc just before doing the transition will help?

Apart from that, sorry!

Sam