当我使用PushViewController添加导航标题时,此代码仍然可见:
View viewp = new View();
NavigationController.PushViewController(viewp, false);
但是当我使用PresentViewControllerAsync添加导航标题时,这是怎么回事?
viewp.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
this.PresentViewController(viewp, true, null);
我正在使用ios13,我怎么了?
他们没有错,这是正常现象。
PushViewController需要的根视图控制器是NavigationController
,它只能在NavigationController中使用。因此,在调用需要时如下:
NavigationController.PushViewController(xxx)
这也是通过此方法可以看到导航栏的原因。下一页位于导航控制器下。看一下UINavigationController和pushViewController:animated:定义的内容:
但是,PresentViewController可以被调用,无论根视图控制器是NavigationController还是Other控制器。它只是在对话框控制器的窗口中显示一个视图控制器。然后,在下一个视图中将不会显示导航栏,因为它不在导航控制器堆栈的堆栈下方。