#iphone #objective-c #navigationbar
#iPhone #objective-c #панель навигации
Вопрос:
Как мне настроить панель навигации на пользовательский цвет (например, темно-зеленый)?
Я знаю, как изменить панель навигации на основные цвета, такие как зеленый и красный, используя код, подобный этому:
UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor redColor]];
Спасибо.
Ответ №1:
Используя значения RGB, подобные этому:
UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]];
Комментарии:
1. Спасибо, это работает, но могу ли я узнать, каким будет значение RGB для темно-зеленого цвета
2. я получил цвет, но теперь я хочу сделать свою панель немного непрозрачной. Как это возможно. Спасибо
3. Вторая строка кода должна гласить [bar setTintColor:[UIColor colorWithRed: 0.5 green: 0.5 blue: 0.5 alpha:1.0]];
4. Более поздние версии iOS7
setTintColor
не работают. ИспользуйтеsetBarTintColor
вместо этого.
Ответ №2:
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:107.0/255.0 green:145.0/255.0 blue:35.0/255.0 alpha:1.0]];
Поместите этот код в didfinislaunching
метод Appdelegate.Это изменит цвет панели навигации для всего приложения.
Комментарии:
1. Извините, не следует ли вам разделить на 255 вместо 256?
2. @PaperThick Спасибо, что обратили на это внимание.
3. У меня это не работает. Может ли быть так, что загрузка моего представления каким-то образом переопределяет его?
4. @9000 может быть в viewDidLoad или viewWillAppear, или viewDidAppear перезаписывает это. Вы можете перепроверить в своем контроллере просмотра.
5. Моя ошибка, я думал, что это касается строки состояния. Отличается от панели навигации.
Ответ №3:
И изменить оттенок фона панели навигации :
[self.navBar setBarTintColor:[UIColor colorWithRed:0.701 green:0.926 blue:0.000 alpha:1.000]];
Ответ №4:
[bar setTintColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]]
Существует множество других способов получения нужного цвета из различных типов компонентов, как описано в документации.
Ответ №5:
Для swift, чтобы изменить оттенок фона панели навигации :
navigationController?.navigationBar.barTintColor = UIColor.red
Ответ №6:
Используйте следующим образом,
UINavigationBar *bar = [self.navigationController navigationBar];
bar.barTintColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
Комментарии:
1. По сути, похоже на принятый ответ.