
我在我的MainTabbarController中试过这个:
- (voID) onAppChangedMode: (NSNotification*)notif {APP_MODE mode = (APP_MODE) [[notif object] integerValue];// change navigation bar appearance[[UILabel appearance] setHighlightedTextcolor:[UIcolor redcolor]];[[UINavigationbar appearance] setBackgroundImage:[UIImage imagenamed:(mode == 0 ? @"navbar.png" : @"navbar2.png")] forbarMetrics:UIbarMetricsDefault];// trying to updatefor (UIVIEwController* vc in self.vIEwControllers) { [vc.navigationController.navigationbar setNeedsdisplay];}} 但没什么……它不起作用.任何想法如何实现它?
谢谢!
解决方法 尝试使用此代码仅更改当前导航栏的背景图像:[self.navigationController.navigationbar setBackgroundImage:image forbarMetrics:UIbarMetricsDefault];
更改UIAppearance后使用上面的代码.这将强制更改当前控制器的导航栏.其他控制器的导航栏将由UIAppearance的更改处理.
总结以上是内存溢出为你收集整理的ios – 使用UIAppearance更改后更新导航栏全部内容,希望文章能够帮你解决ios – 使用UIAppearance更改后更新导航栏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)