我在按钮单击时将条形色调颜色设置为不同,但您必须切换视图才能使以下方法生效。我不知道为什么不是。
[[UINavigationBar appearance] setBarTintColor:[UIColor darkGrayColor]];
谢谢:D
答案 0 :(得分:1)
错误原因:
[[UINavigationBar appearance] setBarTintColor:[UIColor randomColor]];
无法正常工作,因为UIViewController已经存在 初始化!!!
解决方案:
(1)UIAppearance用户在AppDelegate中设置全局效果didFinishLaunch函数。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[UINavigationBar appearance] setBarTintColor: [UIColor redColor]];
return YES;
}
(2)关于初始化的UIViewController,你应该使用self.navigationController.navigationBar设置颜色也可以对应用程序生命周期产生影响。
[self.navigationController.navigationBar setBarTintColor:[UIColor randomColor]];
答案 1 :(得分:0)
UINavigationBar *navBar=self.navigationController.navigationBar;
[navBar setBarTintColor:[UIColor darkGrayColor]];
试试这个
这是我测试它的方式。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UINavigationBar *navBar=self.navigationController.navigationBar;
[navBar setBarTintColor:[UIColor darkGrayColor]];
}
由于我屏幕上没有任何按钮,我只更改了一个表委托功能。