我正在尝试配置深灰色分色器。为什么以下什么都不做?
self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];
返回一个完全没有分隔符的表。
一旦我使用 [UIColor blackColor] ,我就会得到分离器。这是什么交易?
答案 0 :(得分:210)
您需要除以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];
答案 1 :(得分:58)
因为你的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];
答案 2 :(得分:3)
您必须将值除以255,因为范围是0-1。取127/255 = 0.49f然后输入。它在那里,它只是白色:))
编辑:评论的原因,我添加了一些关于如何解决它的代码:
-(float)getRGBValue:(int) rgbValue{
return rgbValue/255.0;
]
答案 3 :(得分:0)
UIColor
中有两个新方法可以接受0到255之间的整数值:
UIColor(red: Int, green: Int, blue: Int)
和
UIColor(alpha: Float, red: Int, green: Int, blue: Int)
它不在文档中,但我已经使用过了,它的工作原理就像一个魅力。