Как изменить цвет панели навигации в iOS 7?
В основном я хочу достичь чего-то вроде панели навигации Twitter (обновленный Twitter для iOS7
этого есть). Я встроил навигационную панель поверх view controller
. Все, что я хочу, это изменить цвет панели навигации на светло-синий вместе с панелью утилит в верхней части. Я не могу найти вариант в моем storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Патрисио Герра
источник
источник
Ответы:
Поведение
tintColor
для баров изменилось в iOS 7.0. Это больше не влияет на фон бара.Из документации:
Описание класса barTintColor
Цвет оттенка, применяемый к фону панели навигации.
Обсуждение
Этот цвет по умолчанию становится полупрозрачным, если вы не установили свойство полупрозрачности в
NO
.Доступность
Доступный в iOS 7.0 и позже.
Объявлено в
UINavigationBar.h
Код
Мы также можем использовать это, чтобы проверить версию iOS, как упомянуто в Руководстве по переходу пользовательского интерфейса iOS 7
РЕДАКТИРОВАТЬ Использование XIB
источник
Выполнить то, что задал первоначальный вопрос - чтобы получить старый вид навигационной панели Twitter, синий фон с белым текстом - очень легко сделать, просто используя Interface Builder в Xcode.
Это должно получить вам то, что вы хотите. Вот скриншот, который поможет увидеть, где внести изменения.
Обратите внимание, что изменение только оттенка не меняет цвет текста на панели навигации или в строке состояния. Стиль также должен быть изменен.
источник
Default
иBlack
все еще доступны в iOS 9. Устаревшие версии - этоBlackOpaque
иBlackTranslucent
, которые были заменены комбинациейBlack
стиля и полупрозрачной галочки. UIBarStyle на сайте разработчика Appleисточник
В приложении на основе навигации вы можете поместить код в AppDelegate. Более подробный код может быть:
источник
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
для iOS 7В
viewDidLoad
, установите:Измените (
blueColor
) на любой цвет, который вы хотите.источник
Для быстрого изменения цвета панели навигации:
изменить шрифт заголовка, размер, цвет:
источник
В iOS 7 вы должны использовать свойство -barTintColor:
источник
Если вы хотите использовать шестнадцатеричный код, вот лучший способ сделать это.
Сначала определите это в верхней части вашего класса:
Затем внутри «приложения didFinishLaunchingWithOptions» поместите это:
Поставьте шестнадцатеричный код вместо 00b0f0.
источник
Если вам нужно поддерживать ios6 и ios7, то вы получите именно этот светло-голубой цвет, используя это в вашем UIViewController :
источник
Это на самом деле проще, чем ответы, которые я видел здесь:
Надеюсь, это кому-нибудь поможет. Мне не понравились ответы, которые я видел. Мне нравится, чтобы мой код был максимально чистым. Не сказать, что это неправильно делать программно, но есть люди вроде меня ... это для вас, ребята.
источник
Чтобы завершить код Rajneesh071, вы также можете установить цвет заголовка навигационной панели (и шрифт, если хотите), поскольку поведение по умолчанию изменилось с iOS 6 на 7:
источник
Добавьте только этот код в ваш
ViewContorller
или в вашAppDelegate
источник
источник
В приложении на основе навигации вы можете изменить цвет
источник
источник
Этот вопрос и эти ответы полезны. С их помощью я смог установить желаемый темно-синий
navigationBar
цвет с белым заголовком и текстом кнопки.Но мне также нужно было изменить часы, несущую, уровень сигнала и т. Д. На белый. Черный просто недостаточно контрастировал с темно-синим.
Я , возможно , упустил из вида , что решение в одном из предыдущих ответов, но я был в состоянии сделать это изменение, добавив следующую строку в мой верхний уровень
viewController
«sviewDidLoad
:источник
UIStatusBarStyleLightContent
работает, но это , кажется , правильное перечисление дляsetBarStyle:
этоUIBarStyleBlack
источник
Для цвета:
Для изображения
источник