繁体   English   中英

不同视图控制器的不同导航栏后退按钮颜色

[英]Different Navigation Bar Back Button Colors for different view controllers

假设我们有两个视图控制器-控制器A和控制器B。

轻按控制器A上的特定项目会按下控制器B。我使用以下命令在AppDelegate.m中的didFinishLaunchingWithOptions方法中设置了导航栏按钮的颜色-

[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];

我在应用程序中拥有的每个导航控制器上都能很好地工作。 我想要的是控制器A中导航栏上的按钮具有不同的颜色,而控制器B中那些按钮具有不同的颜色。

这可能吗?

到目前为止我尝试过的...

  1. 将此代码放入控制器A中推送控制器B的方法中-

     [[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]]; 

    不行

  2. 这进入了控制器B的viewWillAppear方法中-

     [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

    没有

     self.navigationItem.backBarButtonItem.tintColor = [UIColor whiteColor]; 

    仍然没有变化。

     [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

    *即将我的机器撞在墙上

(从我的新计算机上写)我应该使用什么代码来完成此任务,并将其放在哪里?

提前致谢。

代码行应为-

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];

它进入控制器B的viewDidAppear方法。

请记住,在Controller B的viewDidDisappear方法中将其重新设置为默认颜色,这样当您从Controller B导航时,不会得到意外的结果。

(也许新电脑给我带来了一些运气)

试着做 :

[self setNeedsStatusBarAppearanceUpdate];

更新导航栏的tintColor之后

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM