首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >self.navigationController.navigationItem与self.navigationItem的区别

self.navigationController.navigationItem与self.navigationItem的区别
EN

Stack Overflow用户
提问于 2012-06-26 05:28:18
回答 2查看 727关注 0票数 5

self.navigationController.navigationItem和self.navigationItem有什么区别?我在整个应用程序中使用UINavigationController,当我在其中一个viewControllers的viewDidLoad方法中使用self.navigationController.navigationItem.rightBarButtonItems,时,该数组为空。但是,如果我使用self.navigationItem.rightBarButtonItems,我会看到我的栏按钮项。这两个调用之间的区别是什么?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 05:40:22

UINavigationControllerUIViewController的子类。因此,它从UIViewController继承了自己独立的navigationItem属性。您应该忽略此属性,因为只有当您将一个导航控制器嵌入到另一个导航控制器中时才会使用它(没有人会这样做)。

票数 5
EN

Stack Overflow用户

发布于 2016-03-01 07:44:42

在下面的UIViewController+UINavigationControllerItem文档中,我们应该直接在视图控制器上使用navigationItem属性:

代码语言:javascript
复制
// Created on-demand so that a view controller may customize its navigation appearance.
@property(nonatomic,readonly,strong) UINavigationItem *navigationItem;

UINavigationController也有一个navigationItem属性,因为它继承自UIViewController,但是设置它不会影响视图控制器的导航属性。

通过快速测试,我们可以看到这些导航项目也不相等:

代码语言:javascript
复制
(lldb) po self.navigationItem
<UINavigationItem: 0x7f865c99ec50>

(lldb) expr -- @import UIKit
(lldb) po self.navigationController.navigationItem
<UINavigationItem: 0x7f865c811740>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11197620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档