我有以下代码,在推送新的视图控制器时会执行一个很好的动画。
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:0.5];
[[self navigationController] pushViewController:details animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
这段代码,使用popViewController(而不是pushViewController)不会做动画。
[UIView beginAnimations:@"animationback" context:nil];
[UIView setAnimationDuration:0.5];
[[self navigationController] popViewControllerAnimated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
任何想法为什么会这样,更重要的是;我该如何解决?
答案 0 :(得分:2)
您确定self.navigationController.view
确实引用了正确的视图......正在动画的那个吗?我觉得第一种情况只是偶然起作用。你不应该参考被推/弹出控制器的视图吗?