Ios UINavigationItem标题
试图修改UINavigationItem中的标题Ios UINavigationItem标题,ios,objective-c,properties,title,uinavigationitem,Ios,Objective C,Properties,Title,Uinavigationitem,试图修改UINavigationItem中的标题 // this modify the title self.navigationItem.title = @"Any title"; // this does not navigationItem.title = @"Any title"; 为什么?导航项不是它正在使用的对象self.navigationItem是在将UIViewController与UINavigationController一起使用时根据需要创建的只读属性。您当
// this modify the title
self.navigationItem.title = @"Any title";
// this does not
navigationItem.title = @"Any title";
为什么?
导航项
不是它正在使用的对象self.navigationItem
是在将UIViewController
与UINavigationController
一起使用时根据需要创建的只读属性。您当然可以创建自定义的UINavigationItem
,但在标准的UINavigationController
设置中,这通常是不受欢迎的,您不需要这样做
至于self.title
,它只是指向self.navigationItem.title
的快捷方式。使用快捷方式的原因是,如有必要,可以在其他容器类型(包括您自己的自定义容器)中使用快捷方式
如果你解构正在发生的事情。很可能会发生这种情况,如果您访问一个navigationItem,则加载您的标题,基本UINavigationController会:
- (UINavigationItem)navigationItem
{
if (!_navigationItem) {
_navigationItem = [[UINavigationItem alloc] initWithTitle:self.title];
}
return _navigationItem;
}
你可以在这里阅读更多关于苹果的评论: