我添加了一个视图[[UIApplication sharedApplication] keyWindow]
,因为我们希望它与导航栏重叠。
现在我们想要点击视图上的一个按钮并以模态方式打开一个窗口,最好使用presentViewController
. 有没有办法让这个模态视图出现在 keyWindow 视图上方(在 z 轴上)?
我的答案
我最终将我的第一个自定义添加UIViewController
到self.tabBarController
. 这允许UIViewController
重叠导航栏和标签栏。
然后我[self.navigationController presentViewController:animated:completion]
用来呈现模态,它在 z 轴上高于一切。
这是添加UIViewController
到self.tabBarController
MyCustomViewController * overlayView = [[MyCustomViewController alloc]
initWithNibName:@"MyCustom"
bundle:nil];
UIViewController *parentViewController = self.tabBarController;
[modalView willMoveToParentViewController:parentViewController];
// set the frame for the overlayView
overlayView.view.frame = parentViewController.view.frame;
[parentViewController.view addSubview: overlayView.view];
[parentViewController.view needsUpdateConstraints];
[parentViewController.view layoutIfNeeded];
// Finish adding the overlayView as a Child View Controller
[parentViewController addChildViewController: overlayView];
[overlayView didMoveToParentViewController:parentViewController];