尝试修改 UINavigationItem 中的标题
// this modify the title
self.navigationItem.title = @"Any title";
// this does not
navigationItem.title = @"Any title";
为什么?
尝试修改 UINavigationItem 中的标题
// this modify the title
self.navigationItem.title = @"Any title";
// this does not
navigationItem.title = @"Any title";
为什么?
navigationItem
不是它正在使用的对象。是使用 a和 aself.navigationItem
时按需创建的只读属性。您当然可以创建自定义,但在标准设置中通常不赞成这样做,您不需要这样做。UIViewController
UINavigationController
UINavigationItem
UINavigationController
至于self.title
,它只是一个捷径self.navigationItem.title
。快捷方式的原因是它可以在必要时用于其他容器类型的其他地方,包括您自己的自定义容器。
如果你解构正在发生的事情。很可能会发生这种情况,如果您访问一个基本的 UINavigationController 会加载导航项,则加载您的标题:
- (UINavigationItem)navigationItem
{
if (!_navigationItem) {
_navigationItem = [[UINavigationItem alloc] initWithTitle:self.title];
}
return _navigationItem;
}
您可以在此处阅读有关 Apple 的更多信息:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp /UIViewController/navigationItem