Подтвердить что ты не робот

Как изменить цвет панели управления навигационного контроллера в iOS?

Я пытаюсь изменить цвет панели навигации. Следующий rgb предназначен для темно-красного цвета, но мой навигационный бар становится белым после следующего кода.

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1];
4b9b3361

Ответ 1

Это связано с тем, что значения CGFloat варьируются от 0.0 to 1.0 не от 0 to 255, а значения выше 1.0 интерпретируются как 1.0.

Вот документация: UIColor

Ответ 2

Просто сделайте следующее:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];

Ответ 3

Вы должны разделить каждое значение на 255. Попробуйте:

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]

Ответ 4

Я нахожу, что если вы приходите из Интернета или с чего-то вроде Photoshop, проще работать с шестнадцатеричными цветами. Вы можете использовать этот макрос для этого:

//RGB color macro
#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

И используйте его следующим образом:

self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf);

Ответ 5

А, это смешно. Реальный ответ заключается в том, что .tintColor устанавливает цвет элементов навигации навигационного контроллера (например, кнопка "Готово" ).