当使用 UINavigationController 使用 Show 而不是 Push(已弃用)时,显示的 VC 没有 navigationItem
Posted
技术标签:
【中文标题】当使用 UINavigationController 使用 Show 而不是 Push(已弃用)时,显示的 VC 没有 navigationItem【英文标题】:When using Show instead of Push, which is deprecated, with UINavigationController, the VC being shown doesn't have navigationItem 【发布时间】:2015-12-26 05:39:43 【问题描述】:好的,这就是交易。
我有一个 UINavigationController,它有一个根 VC。从这个根 VC,您可以显示另一个 VC,然后从那里显示另一个,然后从那里显示另一个。
问题是我遇到了我认为是 Xcode 中的错误。
在下图中,您会在我的 rootVC navigationItem 中看到一个按钮,我使用该按钮与 Show 进行连接以显示第二个 VC。您可以清楚地看到导航栏,但是当我尝试将 UIBarButtonItem 拖入其中时,我不能,原因是如果您查看左侧的菜单,您会看到没有导航项把按钮拖进去!
如果我改为使用 segue Push 来显示第二个 VC,我会得到一个 navigationItem... 但显然 Push 已被弃用。
如何缓解这种情况?
编辑:我想我可以将 UINavigationItem 拖入其中......但我真的不知道我是否应该这样做。下面会不会有一个空的 UINavigationItem,我只是在情节提要中看不到,但实际上确实存在?
【问题讨论】:
【参考方案1】:导航项不会在第二个视图控制器上自动创建,你是对的。将一个新的导航项拖到第二个视图控制器的栏中,您应该可以开始了。
【讨论】:
是的,我认为这可能是最好的选择。我只是担心它下面可能有一个幻影 UINavigationItem,但无论如何。以上是关于当使用 UINavigationController 使用 Show 而不是 Push(已弃用)时,显示的 VC 没有 navigationItem的主要内容,如果未能解决你的问题,请参考以下文章
将 managedObjectContext 发送到 viewController 崩溃
如何正确关闭作为模式呈现的 UINavigationController?
UINavigationController - 何时释放推送的视图控制器等