必须切换视图才能使"[[UINavigationBar appearance] setBarTintColor:[UIColor darkGrayColor]];"正常工作



单击按钮时,我将条形图色调设置为不同,但您必须切换视图才能使以下方法生效。我不知道为什么不是。

[[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]];
}

由于我在屏幕上没有任何按钮,我只是更改了我的一个表代理功能。

相关内容

  • 没有找到相关文章

最新更新