我正在尝试使用代码为我的应用设置一般颜色方案,以便在项目之间移植时很容易修改。但是,这些组件上的两种颜色会逐渐出现略有不同的颜色。我使用以下代码来设置我的UITableViewCell:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([indexPath row] %2 != 0)
{
[cell setBackgroundColor:kTableSecondaryCellColor];
}
}
这是我的UILabel:
[self.lTitleBackground setBackgroundColor:kTableSecondaryCellColor];
正如您所看到的,我只是将两个元素的背景设置为kTableSecondaryCellColor,其设置如下:
#define kTableSecondaryCellColor [UIColor colorWithRed:(158.0f / 256.0f) green:(171.0f / 256.0f) blue:(4.0f / 256.0f) alpha:0.4f]
然而,两种颜色的结果如下(绿色):
答案 0 :(得分:2)
您必须使用
cell.contentView.backgroundColor = kTableSecondaryCellColor;
答案 1 :(得分:1)
您应该更改单元格内容视图的背景颜色:
cell.contentView.backgroundColor = kTableSecondaryCellColor;
这应解决问题。
答案 2 :(得分:0)
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([indexPath row] %2 == 0)
{
cell.contentView.backgroundColor = kColorTablePrimary;
}
else
{
cell.contentView.backgroundColor = kColorTableSecondary;
}
}
这是我目前正在使用的代码,不透明度仅在iPhone上检测到,但我在此代码中有一个断点,当我使用iPad时,它肯定会被调用,只是不显示不透明度。我已经完成了设置,单元格设置相同,与UITableViews相同。