it-swarm.com.ru

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

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

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

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

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

28
Oscar Gomez

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

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

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

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

Я считаю, что если вы пришли из Интернета или из чего-то вроде 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);
3
monzonj

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

0
broken_image