ViewController 到 NavigationController 并返回
Posted
技术标签:
【中文标题】ViewController 到 NavigationController 并返回【英文标题】:ViewController to NavigationController and back 【发布时间】:2012-12-10 18:55:32 【问题描述】:我有一个问题,我不知道如何解决。目前我有主要的UIViewController
和一些按钮。这是使用 app 创建的初始视图。在它上面,一个按钮调用 Storyboards segue 与 ViewController 上的样式 Modal 是UINavigationController
的一部分。之后,通过 segues 在UINavigationController
中处理少数其他视图控制器并通过navigationController:popViewControllerAnimated
返回。我不知道如何从UINavigationController
回到第一个UIViewController
。我试过了,当我在navigationctrl上第一个时,
[self removeFromParentViewController];
然而,这只会删除视图,但似乎UINavigationController
以某种方式保持活力,因为结果是黑屏。创建未连接的 segue 并从代码中调用它是可能的,但我不确定这是否是正确的方法。那会让导航控制器活着吗?
【问题讨论】:
【参考方案1】:您是否有任何理由先使用UIViewController
,然后使用UINavigationController
?
为什么不改变它,让UINavigationController
成为初始视图控制器,然后从那里驱动一切。
如果您希望第一个视图没有导航栏,那么您可以轻松隐藏它。
这样你就可以通过弹出和推入UINavigationController
来在所有视图中移动。
【讨论】:
是的,你是对的。隐藏栏应该是正确的方法。我试图向 IB 隐藏它,但由于某种原因它仍然会弹出。我会尝试从代码中做到这一点,但无论如何我要找出如何删除 navcontroller :) 您也可以将其从 IB 中删除。在“Simulated Metrics - Top Bar”下的视图控制器检查器中,选择“None”。不过你还没有回答我的问题。为什么要让自己变得更加困难?只需将 NavigationController 粘贴为 Initial View Controller,您就不必担心删除它。 我同意你的看法。我将使用 NavigationController。但我想了解如何从窗口中删除导航控制器。也许在其他时候我需要... 啊,对不起,之前误读了它:D 好问题。我想你必须从它下面的视图控制器中删除它(即拥有导航控制器的那个)。所以你需要某种方式(委托方法或其他东西)来回调它,告诉它从自身中删除 nag 控制器。 顺便说一句,我已将顶部栏设置为无,并且在 IB 导航栏是隐藏的,但是当应用程序启动时它会弹出。以上是关于ViewController 到 NavigationController 并返回的主要内容,如果未能解决你的问题,请参考以下文章
css PureCSS菜单进入WordPress(http://corpocrat.com/2015/08/28/how-to-integrate-purecss-navigation-menu-in
将图像从 ViewController 传递到 ViewController