我正在更新我们的应用程序以使用
xcode6 / iOS8进行编译.
我遇到的一个问题是当呈现模态视图时.基础子视图已删除.它完全被涂黑了..直到模态视图被解除..然后它重新出现.
iOS8中有没有人碰到这个?自iOS4以来,相同的代码已经运行.
码:
PigDetailViewController *pigDetailViewController = [[PigDetailViewController alloc] initWithNibName:@"PigDetailViewController" bundle:nil];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:pigDetailViewController animated:YES completion:nil];
最佳答案 在iOS 8中,他们添加了一种新的表示风格,其行为类似于您所描述的环境中的UIModalPresentationCurrentContext,它是UIModalPresentationOverCurrentContext.这里的问题是,与UIModalPresentationCurrentContext不同,您希望将视图控制器设置为使用此演示文稿样式进行演示,如下所示:
PigDetailViewController *pigDetailViewController = [[PigDetailViewController alloc] initWithNibName:@"PigDetailViewController" bundle:nil];
pigDetailViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:pigDetailViewController animated:YES completion:nil];
请注意,要支持iOS 7及更低版本,您可能需要检查操作系统版本并决定如何基于此呈现视图控制器.
编辑:我想再补充一点.在带有UIModalPresentationCurrentContext的iOS7中,当呈现的VC被解除时,底层VC的viewDidAppear方法被调用.在带有UIModalPresentationOverCurrentContext的iOS8中,我发现底层VC没有调用viewDidAppear方法,当它上面显示的VC被解除时.