如何确定视图是从导航控制器中的 "More" 还是从主选项卡加载的?

How to find out if view is loaded from "More" in a navigationController or from main tab?

我有一个带有许多 UIViewController 的 UITabBarController,结果是 "More" TabBarItem。

其中一个视图具有一些我想放在 UINavigationBar 中的编辑功能,我可以替换左右按钮项,没问题。但是,当您将该视图控制器移动到不再显示导航控制器的位置时,似乎会出现问题。如果我知道从哪里加载视图,我相信我可以解决这个问题。

这是我的挑战,我需要一些指导:

检查所选视图是否未显示顶部导航栏的最佳方法是什么?意思是,顶部没有“<更多”。这样我就可以显示我自己的编辑按钮。

应该能够使用

检查是否有左栏按钮项目

navigationItem.leftBarButtonItem == nil

navigationController?.navigationItem.leftBarButtonItem == nil

取决于您的层次结构。

任何视图控制器都可以请求其 tabBarController。从那里,它可以获得选项卡栏控制器的 moreNavigationController。所以现在它可以询问它的 parent 是否是 moreNavigationController.