关于UINavigationController设置titleView颜色无效

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

 下图为我的代码的层级结构。

根据情况,找寻了半天,最终发现其原因如下:

只有在push进导航器的vc或者是作为导航器rootViewControllervc才能够修改titleView.由于tabbar继承于UIViewController,且为导航器的rootViewController,所以如果要修改titleView只能够在tabbarView中去实现,在tabbar里面的vc去设置是不会出现效果的.

而我代码中用的是

[nav addChildViewController:VC];

以至于无论如何更改titleView相关属性,都无法生效。

最后,将代码修改为

UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:VC];

至此,titleView相关属性才正常工作。

特此记录一下,方便以后发现问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值