我正在尝试使用applicationDidFinishLaunching
上添加的以下代码设置navigationBar颜色:
//Set tint color
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
//Set title attributes
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Pacifico" size:21],
NSFontAttributeName, [UIColor whiteColor], NSForegroundColorAttributeName, nil]];
//Set navigationBar color
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor];
一切正常,应用程序启动和颜色正确如下图所示
当我按照以下步骤操作时会发生问题:
也许这个问题与tabBarController.tabBarColor有关,因为我把它设置为黑色!
我不知道为什么会发生这种情况,如果全球色调出现问题,我也不知道!这个问题发生在任何人身上吗?知道怎么解决吗?
答案 0 :(得分:0)
您要查找的方法不是applicationDidEnterBackground:
和applicationWillEnterForeground:
。您应该使用applicationWillResignActive:
和applicationDidBecomeActive:
。
以下是它们的工作原理。如果您通过按主页按钮最小化应用程序,则会按此顺序调用applicationWillResignActive:
和applicationDidEnterBackground:
。最大化您的应用applicationWillEnterForeground:
并调用applicationDidBecomeActive:
后,再次按相同顺序调用。但是,当您双击主页按钮查看最近使用的应用时,系统只会调用applicationWillResignActive:
,从此视图中选择您的应用只会调用applicationDidBecomeActive:
。所以这些是你应该使用的方法。
警告但是,如果您的应用处于有效状态,并且您通过拖动屏幕的底部/顶部边缘打开控制中心或通知中心,也会调用这些方法。
希望您可以使用此信息。
答案 1 :(得分:0)
最后我找到了解决方案
在顶栏下延伸边缘 未选中,我对其进行了检查,并且可以正常工作。
我不知道导致此问题的原因是让navBar变为黑色(我的意思是没有内容的部分,它只是视图的一部分)