我正在尝试将tableviewcell
与backgroundColor
的{{1}}区分开来,但它无法按预期运行。文档中没有说明一次只能使用一种模式。
假设我有3行,我设置背景如下:
colorwithPatternImage
所有3行都是红色的。就好像有一些全局颜色被返回。
无论传入什么图像, Cell1.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"red.png"]];
Cell2.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"green.png"]];
Cell3.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"blue.png"]];
都会为每次调用返回colorWithPatternImage
。如果确实一次只有1个全局模式,那么颜色应该是最后一个,换句话说就是蓝色。
这没有任何意义。有没有人对Apple在这里做什么有内部专业知识?
修改 我甚至在完全独立的视图中使用不同的模式,它仍然影响其他视图的模式。我确信,虽然文档没有说明这一点,但你一次只能使用一个UIColor图像模式。悲伤。
答案 0 :(得分:5)
什么是Cell1?在哪里(以什么方法)设置这些?
我会说你应该在
中做这一切- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
MyTableCell *cell = (MyTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// create cell
}
// Set up the cell...
// set up a background color
if (something)
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"red.png"]];
else (another)
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"green.png"]];
else
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"blue.png"]];
}
答案 1 :(得分:1)
到目前为止,我可以看到这不是或不再是真的。我这里有几个UITableViewCells,每个都有不同的backgroundImage,没有任何问题。