Using [UIColor colorWithRed:green:blue:alpha:] doesn't work with UITableView seperatorColor?

skålfyfan picture skålfyfan · Apr 12, 2011 · Viewed 72.8k times · Source

I'm trying to configure a dark gray seperator color. Why does the following do nothing?

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

returns a table with no seperators at all.

As soon as I use [UIColor blackColor] then I get seperators just fine. What's the deal?

Answer

Jonathan. picture Jonathan. · Apr 13, 2011

You need to divide by 255.0

Because I hardly ever use values between 1.0 and 0.0, I created a very simple UIColor category that does the messy looking division by itself: (from 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

So you can just do(If you import the category I linked to above):

[UIColor colorWithR:127 G:127: B:127 A:1];