2016-08-12 4 views
-1

У меня возникла проблема с настройкой цвета фона в файле UINavigationItem. Следующая строка кода является единственным, который работает до сих пор:UINavigationItem RGB Swift

self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.55, green: 0.55, blue: 0.55, alpha: 1) 

Но проблема с этой линии является то, что цвет панели не то же самое, как значение RGB должно быть. Я попытался изменить прозрачность по следующей строке:

self.navigationController?.navigationBar.translucent = false 

Но это также не работает. Я ожидал получить темно-серый цвет, эквивалентный шестнадцатеричному значению # 333333. Но вместо этого я получил светло-серый цвет. Любая помощь для решения проблемы очень ценится!

+0

Нам нужна дополнительная информация о том, что вы ожидаете и что получаете. – Eiko

+0

Спасибо. Я добавил дополнительную информацию, чтобы уточнить это. – user3734410

ответ

0

Чтобы получить полный контроль над цветом панель навигации, сделайте следующее:

  • Установите его translucent в false, как вы делаете

  • Make (в коде) на UIImage, что это просто прямоугольная образцом желаемого цвета и установите его в качестве навигационной панели backgroundImage (для любых соответствующих metrics, обычно default.

Теперь панель навигации будет именно того цвета, который вы просили.

+0

Обратите внимание, что ваш вопрос непонятен, потому что цвет панели навигации не совсем такой же, как цвет UINavigationItem. UINavigationItem содержит UIBarButtonItems, и у них есть свои _own_ фоны. – matt

+0

Спасибо за ответ! Я планирую попробовать это сегодня вечером. Прошу прощения за путаницу, я был не уверен в различии между UINavigationItem и баром из-за учебника, который я пытался. Еще раз спасибо за вашу помощь. – user3734410

+0

Еще раз спасибо. При использовании вашего решения я нашел основную причину проблемы. – user3734410

Смежные вопросы