У меня возникают проблемы с изменением цвета текста и строки строки состояния до белого.
Я хочу, чтобы весь черный текст был белым, любые идеи?
Я видел много решений, но никто не работает на iOS 7
У меня возникают проблемы с изменением цвета текста и строки строки состояния до белого.
Я хочу, чтобы весь черный текст был белым, любые идеи?
Я видел много решений, но никто не работает на iOS 7
Это то, что я сделал.
Сделайте следующее, чтобы цвет текста строки состояния был белым по всему приложению.
В проекте plist
файл
Стиль строки состояния: UIStatusBarStyleLightContent
View controller-based status bar appearance: NO
Status bar is initially hidden: NO
Не нужно реализовывать preferredStatusBarStyle
или вызывать setNeedsStatusBarAppearanceUpdate
, если вы хотите, чтобы такое же поведение выполнялось в приложении.
Моим решением было добавить в AppDelegate следующее:
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
Swift 3:
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
Swift 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
Чтобы превратить цвет текста в белый цвет, введите его в свой видDidLoad
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]];
Просто замените NSForegroundColorAttributeName
на UITextAttributeTextColor
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};