最近,本人遇到了一个奇怪的问题,对于一个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相关属性才正常工作。
特此记录一下,方便以后发现问题。
版权声明:本文为lrbtony原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。