iOS为什么backBarButtonItem在这种情况下为零

时间:2016-05-27 12:01:05

标签: ios swift uinavigationcontroller uinavigationbar uinavigationitem

我有一个嵌入导航控制器的视图控制器,里面有一个显示另一个视图控制器的按钮,如下所示:

enter image description here

在第二个视图控制器中,self.navigationItem.backBarButtonItem的值为零,为什么请?

虽然我在运行应用程序时可以看到后退按钮,但是这样:

enter image description here

更新

我读到视图控制器中的后退按钮是前一个视图控制器的导航项的责任,更为假设,它是前一个视图控制器中导航项的责任。

所以我试图在第一个视图控制器中执行此操作:

 self.navigationItem.backBarButtonItem!.title = "Wdd"

但我得到了异常,因为backBarButtonItem在第一个视图控制器中也是nil。

UPDATE2

伙计们请看这里

https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/NavigationControllers.html#//apple_ref/doc/uid/TP40011313-CH2-SW3

有这句话

  

与当前视图控制器关联的导航项提供导航栏中心和右侧位置的内容。前一个视图控制器的导航项提供左侧位置的内容

2 个答案:

答案 0 :(得分:3)

我自己找到了解决方案。

在第一个VC中,我在视图中执行了加载:

backButton.title = "ddddd"
        self.navigationItem.backBarButtonItem = backButton

并且有效

我得到了这张图片后的答案:

enter image description here

答案 1 :(得分:2)

您可以在故事板中添加第二个控制器中的导航项并设置后退按钮标题。这种方式self.navigationItem.backBarButtonItem.title不会是零。