我正在尝试以模态方式呈现具有透明背景的视图控制器。我的目标是让呈现和呈现的视图控制器的视图同时显示。问题是,当呈现动画完成时,呈现视图控制器的视图消失了。
- (IBAction)pushModalViewControllerButtonPressed:(id)sender { ModalViewController *modalVC = [[ModalViewController alloc] init]; [self presentViewController:modalVC animated:YES completion:nil]; }
我知道我可以将视图添加为子视图,但出于某种原因我想避免使用此解决方案。我该如何解决?
以下代码仅适用于 iPad。
self.view.backgroundColor = [UIColor clearColor]; self.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentModalViewController:modalVC animated:YES];
我会添加一个子视图。
这是一个很好的讨论。具体看评论。不仅仅是答案。
模态视图
如果我是你,我不会这样做。我会添加一个子视图并执行此操作。它似乎让我可以更好地控制事情。
编辑:
正如 Paul Linsay 所提到的,从 iOS 8 开始,所需要UIModalPresentationOverFullScreen的只是呈现 ViewController 的 modalPresentationStyle。这也将涵盖 navigationBar 和 tabBar 按钮。
UIModalPresentationOverFullScreen