为什么导航标题隐藏在ios13中?

问题描述 投票:0回答:1

当我使用PushViewController添加导航标题时,此代码仍然可见:

View viewp = new View();
NavigationController.PushViewController(viewp, false);

但是当我使用PresentViewControllerAsync添加导航标题时,这是怎么回事?

viewp.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
this.PresentViewController(viewp, true, null);  

我正在使用ios13,我怎么了?

c# xamarin xamarin.ios
1个回答
0
投票

他们没有错,这是正常现象。

PushViewController需要的根视图控制器是NavigationController,它只能在NavigationController中使用。因此,在调用需要时如下:

NavigationController.PushViewController(xxx)

这也是通过此方法可以看到导航栏的原因。下一页位于导航控制器下。看一下UINavigationControllerpushViewController:animated:定义的内容:

enter image description here

但是,PresentViewController可以被调用,无论根视图控制器是NavigationController还是Other控制器。它只是在对话框控制器的窗口中显示一个视图控制器。然后,在下一个视图中将不会显示导航栏,因为它不在导航控制器堆栈的堆栈下方。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.