我在将文本和状态栏文本颜色更改为白色时遇到问题。
我希望所有的黑色文本都是白色的,有什么想法吗?
我见过很多解决方案,但似乎没有一个适用于 iOS 7
我的解决方案是将以下内容添加到 AppDelegate:
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
斯威夫特 3:
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
斯威夫特 5:
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
在iOS 13中,您可以使用以下方式设置导航栏本身的外观UINavigationBarAppearance
:
let appearance = UINavigationBarAppearance()
appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
navigationBar.standardAppearance = appearance
要将您的标题文本颜色变为白色,请将其放入您的 viewDidLoad
self.navigationController.navigationBar.titleTextAttributes = @{UITextAttributeTextColor : [UIColor whiteColor]}
要将您的状态栏文本颜色更改为白色,请将其添加到您的视图中
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
您可能想要做几件事。
1)改变标题的颜色:
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
2) 更改条形按钮的颜色:
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
3)在整个应用程序中使状态栏文本颜色为白色:
在您的项目 plist文件中:
UIStatusBarStyleLightContent
NO
NO
您可以使用以下内容:
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]];
这就是我所做的..
执行以下操作以使整个应用程序的状态栏文本颜色为白色。
在您的项目plist
文件上:
状态栏样式:UIStatusBarStyleLightContent
View controller-based status bar appearance: NO
Status bar is initially hidden: NO
如果您希望整个应用程序具有相同的行为,则无需实现preferredStatusBarStyle
或调用。setNeedsStatusBarAppearanceUpdate
只需替换NSForegroundColorAttributeName
为UITextAttributeTextColor
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};