Objective c UINavigationController:设置下一个UINavigationItem的标题

Objective c UINavigationController:设置下一个UINavigationItem的标题,objective-c,cocoa-touch,Objective C,Cocoa Touch,我有以下问题: 我有一个带有UINavigationBar的UINavigationController,当您从一个视图切换到下一个视图时,它会更改标题。例如,第一个视图可以称为Root,下一个视图可以称为Login。我第一次(仅第一次)调用[navigationController pushViewController:loginViewController animated:YES]时,登录视图出现,只有在视图完全显示后,“登录”标题才会出现在导航栏上。这是因为我在从didShowViewC

我有以下问题:

我有一个带有UINavigationBar的UINavigationController,当您从一个视图切换到下一个视图时,它会更改标题。例如,第一个视图可以称为Root,下一个视图可以称为Login。我第一次(仅第一次)调用[navigationController pushViewController:loginViewController animated:YES]时,登录视图出现,只有在视图完全显示后,“登录”标题才会出现在导航栏上。这是因为我在从didShowViewController调用的函数中设置了标题。我需要做的是从willShowViewController调用相同的函数。问题是新视图控制器的UINavigationItem尚未创建,因此我无法设置标题。。。 你如何回避这个问题

谢谢


franck-

创建视图控制器时,只需在其中设置title属性。UINavigationItem已经存在(或者至少在您触摸它时创建),因此您没有理由不能设置它。

您应该在视图控制器的
viewDidLoad
loadView
方法中设置导航项的标题,而不是
UINavigationController
委托方法。但是,在创建视图控制器后设置视图控制器的
title
属性也可以做到这一点。

my bad。。。我有一个派生所有ViewController的基类,它有一个对UIViewController隐藏的“title”属性