Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无法准确设置表格单元格背景和文本颜色。_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 无法准确设置表格单元格背景和文本颜色。

Iphone 无法准确设置表格单元格背景和文本颜色。,iphone,objective-c,ios,Iphone,Objective C,Ios,我需要将表格单元格的背景设置为特定颜色。 (#2222222或RGB(32,32,32)分别) IB中表格视图的背景设置正确。正确的灰色显示在表格标题的后面和部分标题等中。 但我与细胞斗争 为了自定义单元格的外观,我将UITableCell子类化,并实现layoutSubviews方法 这很好: - (void)layoutSubviews { [super layoutSubviews]; self.selectionStyle = UITa

我需要将表格单元格的背景设置为特定颜色。 (#2222222或RGB(32,32,32)分别)

IB中表格视图的背景设置正确。正确的灰色显示在表格标题的后面和部分标题等中。 但我与细胞斗争

为了自定义单元格的外观,我将UITableCell子类化,并实现layoutSubviews方法

这很好:

- (void)layoutSubviews {

    [super layoutSubviews];

    self.selectionStyle                 = UITableViewCellSelectionStyleGray;

    self.backgroundColor                = [UIColor darkGrayColor];
    self.contentView.backgroundColor    = [UIColor darkGrayColor];
    self.textLabel.textColor            = [UIColor whiteColor];
    self.detailTextLabel.textColor      = [UIColor grayColor];
}
然而,灰色和深色根本不符合我需要的颜色

当然,我尝试了红:绿:蓝:阿尔法的UIColor方法

- (void)layoutSubviews {

    [super layoutSubviews];

    self.selectionStyle                 = UITableViewCellSelectionStyleGray;

    self.backgroundColor                = [UIColor colorWithRed:(32/256) green:(32/256) blue:(32/256) alpha:1];
    self.contentView.backgroundColor    = [UIColor colorWithRed:(32/256) green:(32/256) blue:(32/256) alpha:1];
    self.textLabel.textColor            = [UIColor whiteColor];
    self.detailTextLabel.textColor      = [UIColor colorWithRed:(32/256) green:(32/256) blue:(32/256) alpha:1];
}
这将导致detailTextLable的黑色背景和黑色。 (当然,在背景和文本标签上使用相同的颜色是毫无意义的。我只是想弄清楚红色:绿色:蓝色:alpha有什么用,没有什么用。)

我喜欢素色的桌子。这些单元格根本没有背景色。当我忽略设置backgroundColor和contentView的背景色属性时,单元格的背景显示为IB中定义的表格背景色。 但对于分组表格,标准背景是浅灰色,我想将其改为更合适的颜色,以符合客户的风格指南

我做错了什么?我是否正确使用红:绿:蓝:阿尔法的颜色


任何建议都将不胜感激

我会尝试其他计算颜色浮动的方法:

[UIColor colorWithRed:(32.0f/255.0f) green:(32.0f/255.0f) blue:(32.0f/255.0f) alpha:1.0f];
因为0也包括在内,所以您有0到255个值,而不是1到256个值


如果您希望单元格透明,请使用
[UIColor clearColor]
32/256=0
,但
32/256.0=0.125
感谢您指出了错误

但是,这并不能完全回答与普通表样式和分组表样式之间的差异有关的问题

以防有人发现这个问题很有趣:

  • 分组样式带有背景视图。我把它设为零
  • gropued样式始终将单元格背景颜色设置为某个颜色。因此省略self.backgroundColor=。。。声明是不够的 最后

    self.backgroundColor            = [UIColor clearColor];
    

    成功了。它只是与我犯的objective-c错误无关

    ARM处理器中的除法是由软件完成的,不提供硬件。因此最好将数量乘以
    0.003921
    ,而不是仅仅为了提高效率而将其除以255。感谢iShery的提示。除此之外,还可以解决这个问题。:)我真的希望编译器能计算出这样的静态数字的答案。有时候它会很简单:)谢谢。然而,rckoenes的速度更快。