【问题标题】:UINavigationItem TitleUINavigationItem 标题
【发布时间】:2013-01-16 19:33:37
【问题描述】:

尝试修改 UINavigationItem 中的标题

// this modify the title
self.navigationItem.title    = @"Any title";
// this does not
navigationItem.title    = @"Any title";

为什么?

【问题讨论】:

    标签: ios objective-c properties title uinavigationitem


    【解决方案1】:

    navigationItem 不是它正在使用的对象。 self.navigationItem 是在使用 UIViewControllerUINavigationController 时按需创建的只读属性。您当然可以创建自定义 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

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2014-09-10
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      相关资源
      最近更新 更多