Цвет текста панели навигации iOS7
У меня возникают проблемы с изменением цвета текста и строки строки состояния до белого.
Я хочу, чтобы весь черный текст был белым, любые идеи?
Я видел много решений, но никто не работает на iOS 7
Ответы
Ответ 1
Это то, что я сделал.
Сделайте следующее, чтобы цвет текста строки состояния был белым по всему приложению.
В проекте plist
файл
Стиль строки состояния: UIStatusBarStyleLightContent
View controller-based status bar appearance: NO
Status bar is initially hidden: NO
Не нужно реализовывать preferredStatusBarStyle
или вызывать setNeedsStatusBarAppearanceUpdate
, если вы хотите, чтобы такое же поведение выполнялось в приложении.
Ответ 2
Моим решением было добавить в 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
Ответ 3
Чтобы превратить цвет текста в белый цвет, введите его в свой видDidLoad
self.navigationController.navigationBar.titleTextAttributes = @{UITextAttributeTextColor : [UIColor whiteColor]}
Чтобы изменить цвет текста "Строки состояния" на "белый", добавьте это в свое представление
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Ответ 4
Есть несколько вещей, которые вы, возможно, захотите сделать.
1) Чтобы изменить цвет заголовка:
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
2) Чтобы изменить цвет кнопок панели:
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
3) Чтобы цвет текста в строке состояния был белым по всему приложению:
В файле проекта plist:
- Стиль строки состояния:
UIStatusBarStyleLightContent
- Просмотр состояния строки состояния на основе контроллера:
NO
- Строка состояния изначально скрыта:
NO
Ответ 5
Вы можете использовать следующее:
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]];
Ответ 6
Просто замените NSForegroundColorAttributeName
на UITextAttributeTextColor
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};