【问题标题】:How to get NavigationController from Storyboard如何从 Storyboard 中获取 NavigationController
【发布时间】:2012-08-31 09:39:24
【问题描述】:

我有一个带有视图控制器的情节提要,有我的初始视图。我正在尝试通过单击按钮转到 NavigationController。

我可以在单击按钮时使 segue 工作,但是如何获取对 NavigationController 的引用以便填充我的 TableView?

另外,如何让表格视图回到初始视图?

我的故事板如下所示:

感谢您的帮助。

【问题讨论】:

    标签: iphone objective-c xcode ipad ios5


    【解决方案1】:

    首先,一般来说,我们不会将 导航控制器分隔,而是将它们与 分隔到另一个视图控制器。从理论上讲,如果您已正确设置故事板以使导航控制器成为“初始”视图控制器,并且您的第一个视图控制器是“根视图控制器”,那么您的 segue 只会起作用(除非您做了很多不必要的编码) (最容易通过菜单的“嵌入... > 导航控制器”命令完成)。

    然后在您的代码中,您总是有一个简单的导航控制器访问点:当前在由导航控制器管理的控制器堆栈中的任何视图控制器可以简单地使用它的navigationController 属性来访问它。然后,您可以使用 it's interfacepopViewControllerAnimated: 或类似名称。

    【讨论】:

      【解决方案2】:

      在您的视图控制器中,实现

      -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
      

      并通过segue.destinationViewController 获取您的NavigationController

      但如果你想返回,你可能希望带有按钮的 ViewController 连接到 NavigationController,而不是相反。

      NC => 带有按钮的 VC -> TableVC

      where => 是关系segue,-> 是push segue。

      【讨论】:

      • 我已经用我的故事板截图更新了帖子。也许这会有所帮助。基本上,当我按下按钮时,我想显示用户可以选择的项目列表,并在后续视图中获取详细信息……这有意义吗?
      • 在您的情况下,您可以通过向 NavigationController 发送 -dismissModalViewControllerAnimated: 消息来返回。
      • 导航控制器默认没有返回按钮吗?
      • 后退按钮适用于上述情况,当通过 push segue 连接的下一个级别已显示时。另请参阅其他答案。
      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-22
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多