我有一个非常简单的桌子,里面有一个大单元格。里面有静态数据。
我想要一个重复的图块图像作为表格的背景。我认为我需要做的是将图像放在单元格而不是表格中,我是否在正确的轨道上?
我试图在转移到图像之前简单地改变颜色但是甚至无法使其工作。
我尝试为表格单元格和内容视图创建参考出口并添加了此代码:
tblCell.backgroundColor = [UIColor redColor];
tblContent.backgroundColor =[UIColor redColor];
不幸的是它仍然显示为白色。会很感激一些指导。
答案 0 :(得分:2)
您通常希望在-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
中编辑单元格的外观。
您可以使用[UIColor colorWithPatternImage: image]
从图像创建颜色,并将其重复为单元格的背景。
听起来你正在声明一个静态表视图。您无法使用UITableViewDataSource methods
,但可以使用UITableViewDelegateMethods
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
// defaults to white and covers your background
cell.textLabel.backgroundColor = [UIColor clearColor];
// turn an image into a color
UIImage *img = [UIImage imageNamed: @"tilePattern"];
UIColor *pattern = [UIColor colorWithPatternImage: img];
cell.contentView.backgroundColor = pattern;
}
答案 1 :(得分:1)
以下是如何在tableview中更改单元格的颜色。
您需要在CellForRowAtIndexPath
之后添加以下方法才能更改单元格的颜色。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row%2 == 0) {
UIColor *redColor = [UIColor redColor];
cell.backgroundColor = redColor;
}
}
请注意,对单元格内容的任何修改都必须在WillDisplayCell
方法中进行。现在,您可以随时将UIColor
更改为您想要的任何内容。
希望这可以帮助您实现自己想要的目标。
答案 2 :(得分:0)
您需要清除cell.textLabel的颜色,以便可以看到背景颜色。