Как изменить цвет панели инструментов контроллера навигации в iOS? - PullRequest
16 голосов
/ 24 августа 2011

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

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

Ответы [ 5 ]

28 голосов
/ 24 августа 2011

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

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

16 голосов
/ 24 августа 2011

Просто сделайте это:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];
6 голосов
/ 24 августа 2011

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

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]
3 голосов
/ 27 декабря 2012

Я считаю, что, если вы пришли из Интернета или из чего-то вроде 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);
0 голосов
/ 08 сентября 2014

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

...