最近,本人遇到了一个奇怪的问题,对于一个UINavigationController下页面的导航栏,死活改变不了titleView相关颜色属性。无论是setTitleTextAttributes还是直接设置titleView代替,都不能更改成功。但是导航栏背景颜色确可以更改成功,说明部分代码有起作用。
下图为我的代码的层级结构。

根据情况,找寻了半天,最终发现其原因如下:
只有在push进导航器的vc或者是作为导航器rootViewController的vc才能够修改titleView.由于tabbar继承于UIViewController,且为导航器的rootViewController,所以如果要修改titleView只能够在tabbarView中去实现,在tabbar里面的vc去设置是不会出现效果的.
而我代码中用的是
[nav addChildViewController:VC];
以至于无论如何更改titleView相关属性,都无法生效。
最后,将代码修改为
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:VC];
至此,titleView相关属性才正常工作。
特此记录一下,方便以后发现问题。
2445

被折叠的 条评论
为什么被折叠?



