OStack程序员社区-中国程序员成长平台

标题: ios - 两个 UINavigationItem? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:30
标题: ios - 两个 UINavigationItem?

谁能解释为什么有两个navigationItems?当我像下面这样登录时:

NSLog(@"%@", self.navigationItem);
NSLog(@"%@", self.navigationController.navigationItem);

我得到了两个不同的 UINavigationItem 实例:

<UINavigationItem: 0x7f85b06f5a20>
<UINavigationItem: 0x7f85b06ab640>

我只以编程方式创建了一次 UINavigationController



Best Answer-推荐答案


所有 UIViewController 都有一个属性 navigationItem。因此,由于UINavigationControllerUIViewController的子类,它也有这个属性。

self.navigationItem 将是当你的 Controller 被推送时出现的。 documentation对于navigationItem,这个属性很清楚

This is a unique instance of UINavigationItem created to represent the view controller when it is pushed onto a navigation controller.

self.navigationController.navigationItem would 如果 Apple 允许嵌套 UINavigationController 则显示的项目。但是,由于这是不允许的,所以最好忘记它。

关于ios - 两个 UINavigationItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055811/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4