【发布时间】:2012-07-27 06:23:32
【问题描述】:
我有一个包含“n”个单元格的表格视图。我的问题是单元格的背景图像!
我已经知道UITableViewCell 的苹果文档明确表示:
注意:如果要更改单元格的背景颜色(通过 UIView 声明的 backgroundColor 属性设置单元格的背景颜色),必须在 tableView:willDisplayCell:forRowAtIndexPath: 方法中进行委托而不是数据源的 tableView:cellForRowAtIndexPath:。
上面的描述也可以看here
但我关心的不是改变单元格的颜色,而是设置单元格的背景图像。我们知道我们可以利用背景颜色属性来设置背景图像,即:
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellIdentifier] autorelease];
cell.backgroundColor = [[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"buttonbg.png"]];
}
但是使用背景颜色将背景图像设置为表格视图单元格不起作用 当我尝试更改图像而不是颜色时,为什么上述方法/属性在数据源方法中不起作用(索引路径处的行单元格)
同样令我惊讶的是,我发现使用图像视图并将视图设置为单元格的背景视图非常完美,Ammy Worral 先生在link 中也提出了同样的建议。即:
UIImage *cellImage = [UIImage imageNamed:kCellImage];
UIImageView *cellImageView = [[UIImageView alloc]initWithImage:cellImage];
[cell setBackgroundView:cellImageView];
但我的疑问是为什么背景图片不能与单元格的背景颜色方法一起使用!
需要对此进行澄清!
提前谢谢大家:)
【问题讨论】:
标签: iphone uitableview background-image