Использование [UIColor colorWithRed: green: blue: alpha:] не работает с UITableView seperatorColor? - PullRequest
86 голосов
/ 13 апреля 2011

Я пытаюсь настроить темно-серый цвет разделителя. Почему следующее ничего не делает?

self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];

возвращает таблицу без разделителей.

Как только я использую [UIColor blackColor] , тогда я получаю разделители просто отлично. В чем дело?

Ответы [ 3 ]

211 голосов
/ 13 апреля 2011

Вам нужно разделить на 255.0

Поскольку я почти никогда не использую значения в диапазоне от 1,0 до 0,0, я создал очень простую категорию UIColor, которая сама делит беспорядочно выглядящее деление: (из http://github.com/Jon889/JPGeneral)

//.h file
@interface UIColor (JPExtras)
+ (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha;
@end

//.m file
@implementation UIColor (JPExtras)
+ (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha {
    return [UIColor colorWithRed:(red/255.0) green:(green/255.0) blue:(blue/255.0) alpha:alpha];
}
@end

Так что вы можете просто сделать (если вы импортируете категорию, на которую я ссылался выше):

[UIColor colorWithR:127 G:127: B:127 A:1];
59 голосов
/ 13 апреля 2011

Поскольку ваш метод UIColor требует плавающего числа 0-1, а не 0-255.Вам нужно разделить все ваши значения RGB на 255,0 следующим образом:

self.tableView.seperatorColor = [UIColor colorWithRed:127.0f/255.0f green:127.0f/255.0f blue:127.0f/255.0f alpha:1.0f];
3 голосов
/ 13 апреля 2011

Вы должны разделить ваши значения на 255, потому что диапазон 0-1.Возьмите 127/255 = 0,49f и введите вместо этого.Он там, он просто белый:)

edit: причина комментариев, я добавил некоторый код того, как я его решаю:

-(float)getRGBValue:(int) rgbValue{  
    return rgbValue/255.0;
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...