我有一个故事板应用程序,它包含多个视图控制器和一个标签栏控制器。目前导航栏标题的颜色是白色的。现在我正在使用 Xcode 11 beta 6 和 iOS 13 beta 8 进行测试,发现标题变成了黑色。在安装 iOS 12 的设备上,标题仍然是白色的。 我尝试在故事板中设置导航控制器的导航栏标题颜色,但这没有作出任何差别。 我还尝试在每个视图中更改标题颜色,但有时候无效。 在开始使用 iOS 13 进行测试时,我必须更改代码以更改状态栏的背景颜色。代码如下:
self.tabBarController.title = NSLocalizedString(@"AppTitle",nil);
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor clearColor];
shadow.shadowOffset = CGSizeMake(0, 1);
[self.navigationController.navigationBar setBarTintColor:COLOR_HEADER_LIGHT];
if (@available(iOS 13, *))
{
UINavigationBarAppearance *navBar = [[UINavigationBarAppearance alloc] init];
navBar.backgroundColor = COLOR_HEADER_LIGHT;
self.navigationController.navigationBar.standardAppearance = navBar;
self.navigationController.navigationBar.scrollEdgeAppearance = navBar;
}
else
{
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = COLOR_HEADER_LIGHT;
}
}
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
shadow, NSShadowAttributeName, FONT_MEDIUM_SIZE_18, NSFontAttributeName,
COLOR_TEXT_WHITE, NSForegroundColorAttributeName, nil]];
[self.navigationController.navigationBar setTintColor:COLOR_TEXT_WHITE];
我希望任何人都能想出如何将标题颜色改回白色。最好的情况是不必调整每个控制器。