0

我有一个关于 NavigationController 的问题。

首先,如果我使用情节提要和几个视图,导航控制器是强制性的吗?

我有一个第一个 ViewController,并且我在 Push 模式下创建了一个链接(Storyboard Segue)到另一个视图(inappsettingskit 视图)。是否必须有一个 NavigationController 才能工作,或者我可以在没有 NavigationController 帮助的情况下通过 Push 打开第二个视图?

另一个问题:我尝试将 NavigationController 链接(根)添加到我的主 ViewController。但我不想在这个视图上有一个导航栏。它会自动在此视图上放置一个带有“显示”按钮的导航栏。我可以删除它吗?

我试图在 NavigationController 的选项中删除它(取消选中导航栏),但它仍然出现在我的状态栏上!我怎样才能完全删除它?

在此处输入图像描述

最后一个问题:如果我将 Push Segue 视图中的按钮链接到第二个视图控制器,它就可以工作。但是,如果我从工具栏链接按钮,它就不起作用..缺少什么?

在此处输入图像描述

4

2 回答 2

1

1.) 不,导航控制器只是让在多个视图之间导航更容易。

2.) 为了使标准的“Push”segue 工作,您必须使用导航控制器

3.) 您可以在代码中隐藏导航栏。这样做的好地方是viewWillAppear

[self.navigationController setNavigationBarHidden:YES animated:YES];

我不确定为什么工具栏上的按钮不起作用,但请尝试使用 aUIBarButtonItem而不是 aUIButton

于 2013-01-30T20:05:40.923 回答
0

如果您使用的是 push segues,是的,您应该有一个导航控制器。如果您不希望导航栏可见,请在 Interface Builder 中选择导航控制器,然后在 Interface Builder 最右侧面板的属性检查器中取消选中“显示导航栏”选项。

在此处输入图像描述

您可以通过 以编程方式显示或隐藏控制器的导航栏setNavigationBarHidden:animated:

通过拥有一个导航栏隐藏的导航控制器,您可以享受导航控制器跟踪视图控制器堆栈的功能,使您能够弹出视图控制器(或弹出“到”特定控制器或弹出到根控制器)。但是,如果导航栏被隐藏,您显然会丢失内置的“返回”按钮。

最后,如果您想要在 aUIToolbar或导航栏中使用按钮,您应该使用 a UIBarButtonItem(在 Interface Builder 控件列表中列为“Bar Button Item”)。

于 2013-01-30T20:05:50.613 回答