c# - 为什么导航标题隐藏在ios13中?
问题描述
当我使用 PushViewController 添加导航标题时,此代码仍然可见:
View viewp = new View();
NavigationController.PushViewController(viewp, false);
但是当我添加 PresentViewControllerAsync 时,导航标题被隐藏了,怎么了?
viewp.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
this.PresentViewController(viewp, true, null);
我正在使用ios13,我怎么了?左右按钮不显示
解决方案
他们没有任何问题,这是正常现象。
PushViewController需要 Root View Controller 是
NavigationController
,它只能在 NavigationController 中使用。因此,调用时需要如下:NavigationController.PushViewController(xxx)
这也是这个方法可以看到Navigation Bar的原因。下一页在 Navigation Controller 下。看看UINavigationController和pushViewController:animated: defined :
- 但是, 无论根视图控制器是 NavigationController 还是其他控制器,都可以调用 PresentViewController 。它只是在对话框控制器的窗口中显示一个视图控制器。然后在下一个视图中不会显示导航栏,因为它不在导航控制器堆栈的堆栈下。
这里有一些关于它们之间差异的很好的讨论以供参考。
推荐阅读
- core-data - SwiftUI:使用 Core Data 关系数组的更改更新 View
- csv - 如何从我的 Heroku 下载 csv 更改
- google-chrome - Chrome 扩展模拟键盘输入
- c++ - 如何在一个类中定义一个包含 n 个元素的数组
- assembly - 反转堆栈元素 MIPS 逻辑错误
- firebase - 通知抛出firebase工作但没有声音
- mysql - MYSQL从具有交错ID的表中选择行
- json.net - JSON Schema Validation Online vs C# 无法解析模式引用
- python - 如何使用python匹配另一个excel表中的值
- sockets - Spring RestTemplate 与 javax.net.ssl.trustStorePassword 和 javax.net.ssl.trustStore 冲突