цвет фона не работает должным образом - PullRequest
1 голос
/ 16 марта 2012

Я пытаюсь применить собственный цвет RGB к фону, но он не отображает предполагаемый цвет, вместо этого он всегда показывает белый:

UIColor *color = [UIColor colorWithRed:76 green:76 blue:76 alpha:1.0];
mainTable.backgroundColor       = color;
self.scrollView.backgroundColor = color;

однако, если я изменяю один параметр на максимум, например, красный: 255 тогда я вижу красный цвет, любая идея, почему я не вижу нужный мне цвет: 76 76 76 должен был дать какой-то темно-серый цвет.

Thx

Ответы [ 3 ]

4 голосов
/ 16 марта 2012

Аргументы для colorWithRed:green:blue:alpha должны быть CGFloat с по шкале от 0 до 1, где 0 равно 0, а 1 равно 255. Поэтому ваш код должен выглядеть примерно так:

UIColor *color = [UIColor colorWithRed:76.0/255.0
                                 green:76.0/255.0
                                  blue:76.0/255.0
                                 alpha:1.0];
2 голосов
/ 16 марта 2012

Это всегда меня достало. во всяком случае, многие из моих графических приложений показывают мне цвет в HEX. Мы переключили весь наш код на использование макроса для преобразования значений HEX в масштабированные значения 0-1.

// Color RGB ease of access
#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]

Так что после добавления Above к вашему .pch вы можете использовать:

UIColor color = UIColorFromRGB(0x4C4C4C);
mainTable.backgroundColor       = color;
self.scrollView.backgroundColor = color;
1 голос
/ 16 марта 2012

Вы должны работать с CGFloat между 0 и 1, а не int для вашего

UIColor *color = [UIColor colorWithRed:76 green:76 blue:76 alpha:1.0];

С iOS API :

colorWithRed: зеленый: синий: альфа:

Создает и возвращает цветной объект, используя заданную непрозрачность и RGB. значения компонентов. + (UIColor *) colorWithRed: (CGFloat) красный зеленый: (CGFloat) зеленый синий: (CGFloat) синий альфа: (CGFloat) альфа Параметры

The red component of the color object, specified as a value from 0.0 to 1.0. green

The green component of the color object, specified as a value from 0.0 to 1.0. blue

The blue component of the color object, specified as a value from 0.0 to 1.0. alpha

The opacity value of the color object, specified as a value from 0.0 to 1.0.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...