Как добавить пользовательский цвет к панели навигации в iphone?

#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. По сути, похоже на принятый ответ.