Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 什么';是UINavigationController和UINavigationItem之间的区别_Ios_Uinavigationcontroller_Uinavigationitem - Fatal编程技术网

Ios 什么';是UINavigationController和UINavigationItem之间的区别

Ios 什么';是UINavigationController和UINavigationItem之间的区别,ios,uinavigationcontroller,uinavigationitem,Ios,Uinavigationcontroller,Uinavigationitem,我不明白他们之间有什么区别 self.navigationcontroller.navigationitem和self.navigationitem 我有基于导航的应用程序,在导航控制器的rootViewController中的viewDidLoad方法中,我使用此代码将导航项标题视图设置为自定义图像 UIImageView* titleImage=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]]; sel

我不明白他们之间有什么区别
self.navigationcontroller.navigationitem
self.navigationitem
我有基于导航的应用程序,在导航控制器的
rootViewController
中的
viewDidLoad
方法中,我使用此代码将导航项标题视图设置为自定义图像

UIImageView* titleImage=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
self.navigationItem.titleView =titleImage;
顺便说一下,如果我想用这种方式改变标题视图

UIImageView* titleImage=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
self.navigationcontroller.navigationItem.titleView =titleImage;
什么也没发生。
,当navigationcontroller将另一个视图推送到堆栈时,navigationitem的titleview被清除,引用设置为零,我还注意到,self.navigationcontroller.navigationitem和self.navigationitem的引用是不同的。如果动态添加
UINavigationController
,则使用
self.navigationController.navigationItem


请最好澄清您的问题。

我相信您的问题如下:
self.navigationController.navigationItem
self.navigationItem
。我忽略了问题的其余部分,因为它对这个问题不是真正必要的

据我所知,
self.navigationController.navigationItem
是无用的,因为它正在访问导航控制器(即您的rootViewController)的导航项。您真正想要的是
self.navigationItem
,视图控制器的导航项,因为这实际上将显示在视图控制器中

UINavigationController
UIViewController
的子类,因此
self.navigationController.navigationItem
只是子类化的溢出方法。它没有做任何积极的事情(至少在我的经验中)


编辑:请阅读以了解进一步的说明

请以适当的格式发布您的问题,以便读者了解您的问题并给出答案。在这种情况下,为什么不同viewController中的self.navigationitem不相同?单词
self
应该已经告诉您,您正在分别谈论每个viewController。它不应相同,因为navigationItem是ViewController的属性。我从来没有说过它们是一样的,事实上我说过它们总是各自独立的。这是不正确的,即使您动态创建一个
UINavigationController
,您也应该访问视图控制器的
导航项