我在发布时在iOS 8中的导航控制器上显示模态视图控制器时收到以下警告。它在iOS 7上运行良好。
Unbalanced calls to begin/end appearance transitions for UINavigationController.
这就是我正在做的事情。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[self.window makeKeyAndVisible];
...
[self.navigationController presentViewController:self.modalViewController animated:NO completion:nil];
}
在iOS 8中,我可以在显示模态视图之前看到导航控制器一瞬间。在iOS 7中,我立即看到模态视图控制器而没有警告。
如何在iOS 8中获得相同的行为?
答案 0 :(得分:1)
为了摆脱警告,您需要将代码移动到第一个视图控制器viewDidAppear。为了使它看起来更好,你可能会考虑做一些技巧。我遇到了同样的问题,我通过在第一个视图控制器上显示模态视图控制器的全屏图像来解决它,并在呈现模态视图控制器后隐藏此图像,例如,使用方法performSelector:withObject:afterDelay