Я хочу, чтобы фон панели навигации был черным, а все цвета внутри него - белым .
Итак, я использовал этот код:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
Но кнопка назад цвет текст , стрелка и панель кнопки все еще по умолчанию синего цвета .
Как изменить эти цвета, как на картинке ниже?
Ответы:
Поведение некоторых свойств
UINavigationBar
изменилось с iOS 7 . Вы можете увидеть на изображении ниже:Две красивые ссылки, которыми я хотел бы поделиться с вами. Для более подробной информации вы можете перейти по этим ссылкам:
Документация Apple для barTintColor гласит:
Образец кода :
источник
[self.navigationController.navigationBar setTitleTextAttributes:@{[UIFont fontWithName:@"YOURFONT" size:14], NSFontAttributeName}];
Это заняло у меня около полдня, чтобы понять, но это то, что сработало для меня. Внутри rootViewController, который инициализирует navigationController, я поместил этот код в свой метод viewDidAppear:
Мой полный пост об этом здесь
источник
Swift3, IOS 10
Чтобы глобально назначить цвет, в AppDelegate
didFinishLaunchingWithOptions
:Swift 4, iOS 11
источник
Ответ Вин отлично сработал для меня. Вот то же решение для разработчиков на C #, использующих Xamarin.iOS / MonoTouch:
источник
Swift / iOS8
источник
источник
Чтобы
UINavigationBar
правильно изменить цвет заголовка, используйте этот код:UITextAttributeTextColor
устарела в последней версии iOS 7. ИспользуйтеNSForegroundColorAttributeName
вместо этого.источник
Если вы хотите изменить размер текста заголовка и цвет текста, вы должны изменить NSDictionary titleTextAttributes для 2 его объектов:
источник
Я думаю, что предыдущие ответы верны, это еще один способ сделать то же самое. Я делюсь этим здесь с другими на случай, если это станет полезным для кого-то. Вот как вы можете изменить цвет текста / заголовка для панели навигации в ios7:
источник
Кажется, что
Accessibility
элементы управления вiOS Settings
переопределении в значительной степени все, что вы пытаетесь сделать по цвету с кнопками панели навигации. Убедитесь, что вы установили все настройки в положение по умолчанию ( отключите увеличение контрастности, полужирный текст , формы кнопок и т. Д.), Иначе ничего не увидите. Как только я сделал это, весь код изменения цвета начал работать как ожидалось. Возможно, вам не нужно их отключать, но я не стал заниматься этим дальше.источник
Swift 5 / iOS 13
Чтобы изменить цвет заголовка в контроллере:
источник