单击按钮时,我将条形图色调设置为不同,但您必须切换视图才能使以下方法生效。我不知道为什么不是。
[[UINavigationBar appearance] setBarTintColor:[UIColor darkGrayColor]];
感谢:D
错误原因:
[[UINavigationBar appearance] setBarTintColor:[UIColor randomColor]];
不工作,因为UIViewController已初始化!!!
解决方案:
(1( 在AppDelegate didFinishLaunch函数中设置全局效果的UIAppearance用户。
- (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]];
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]];
}
由于我在屏幕上没有任何按钮,我只是更改了我的一个表代理功能。