2017-06-05 34 views
0

我迷失了自己的想法,在我的自定义导航控制器上设置了正确的按钮。导航项目右键未设置

我有我的课程扩展了UINavigationCOntroller。我清理了一切,只是在viewDidAppear上运行下面的代码。

navigationBar.topItem?.title = "Carpool" 

    let languagesSpinner = UIBarButtonItem(title: "PT", style: .done, target: self, action: #selector(didClickLanguagesButton))     
    navigationItem.setRightBarButton(languagesSpinner, animated: true)   

标题是seted但不是按钮。

奇怪的是,该项目设置时,我用口调试。

任何人都可以帮助我吗?

回答

1

您与navigationBar.topItem设置title和设置rightBarButtonnavigationItem所以尽量设置rightBarButtonnavigationBar.topItem

尝试一次

navigationBar.topItem?.setRightBarButton(languagesSpinner, animated: true) 

而不是

navigationItem.setRightBarButton(languagesSpinner, animated: true) 
+0

感谢。我必须研究UINavigationController的工作原理。为什么不能重写导航项目? –

+0

@DiogoAleixo欢迎队友:)不知道关于'navigationItem'重写,但可能是'navigationItem'将在你的每个控制器不同,因为'navigationController'将保持不变 –

+1

完成男人。谢谢。我会研究它 –