从其他地方更改navigationControllers标题

时间:2017-04-24 08:53:57

标签: swift

我有点问题。

纯粹为了排除故障,我希望applicationDidBecomeActive()重命名当前的视图navigationcontroller。

包含导航栏的类是wrapperviewController(),因此我可以使用self.navigationItem.title = "Test",但我尝试了

wrapperviewController().navigationItem.title = "Maybe?"没有。

我也试过wrapperviewController().navigationController.navigationItem.title = "Maybe?"

任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:1)

导航标题是从UINavigationController的顶视图控制器自动设置的,所以你可以这样做:

func applicationDidBecomeActive(_ application: UIApplication) {

    (window?.rootViewController as? UINavigationController)?.topViewController?.title = "My Debug Title"
}

这假设root是UINavigationController。如果你有其他包装器,你可以插入适当的解包。

答案 1 :(得分:0)

如果要从AppDelegate更改导航栏标题名称,请在applicationDidBecomeActive()方法中尝试以下代码: -

self.window?.rootViewController?.navigationItem.title = "Title Name"

如果您有多个视图控制器,那么您可以在那里查看视图控制器&分配标题。