在iOS7中更改tableview单元格的背景色
升级到iOS7后出现了一个问题,当我试图更改特定tableview单元格的背景颜色时,它没有为正确的单元格着色(通常是指定的单元格和其他单元格)。从下面的代码中可以看出,我定义了要高亮显示的类型,然后更改颜色。它在iOS升级之前工作得很好,所以我不确定是什么变化导致了这种情况: 快速编辑:此外,当我向下滚动tableview并进行备份时,它会为tableview控制器首次加载时未着色的更多单元格着色(如果这有帮助的话)在iOS7中更改tableview单元格的背景色,ios,uitableview,ios7,Ios,Uitableview,Ios7,升级到iOS7后出现了一个问题,当我试图更改特定tableview单元格的背景颜色时,它没有为正确的单元格着色(通常是指定的单元格和其他单元格)。从下面的代码中可以看出,我定义了要高亮显示的类型,然后更改颜色。它在iOS升级之前工作得很好,所以我不确定是什么变化导致了这种情况: 快速编辑:此外,当我向下滚动tableview并进行备份时,它会为tableview控制器首次加载时未着色的更多单元格着色(如果这有帮助的话) 您可能有一个可重复使用的单元样式。考虑为你的ACE提供一个可重用的单元样式,
您可能有一个可重复使用的单元样式。考虑为你的ACE提供一个可重用的单元样式,另一个用于所有其他。在cellForRowAtIndexPath中设置背景色,而不是willDisplayCell 伪代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
.
.
.
NSString* type=[[self.HandPointer.player_hand objectAtIndex:indexPath.row]cardType];
if ([type isEqualToString:@"ace"]){
{
// load a cell with the background color desired
cell =
cell.backgroundColor =
.
.
.
return (cell);
}
// else a normal cell
cell =
.
.
.
}
您可能有一个可重复使用的单元样式。考虑为你的ACE提供一个可重用的单元样式,另一个用于所有其他。在cellForRowAtIndexPath中设置背景色,而不是willDisplayCell 伪代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
.
.
.
NSString* type=[[self.HandPointer.player_hand objectAtIndex:indexPath.row]cardType];
if ([type isEqualToString:@"ace"]){
{
// load a cell with the background color desired
cell =
cell.backgroundColor =
.
.
.
return (cell);
}
// else a normal cell
cell =
.
.
.
}
我认为在
tableView:cellforrowatinexpath:
方法中进行单元格定制更好。在这种方法中,
if ([type isEqualToString:@"ace"])
{
cell.backgroundColor = [UIColor aceColor];
}
else // this else is important. If you add this, scrolling works fine.
{
cell.backgroundColor = [UIColor otherCellColor];
}
我认为在
tableView:cellforrowatinexpath:
方法中进行单元格定制更好。在这种方法中,
if ([type isEqualToString:@"ace"])
{
cell.backgroundColor = [UIColor aceColor];
}
else // this else is important. If you add this, scrolling works fine.
{
cell.backgroundColor = [UIColor otherCellColor];
}
对让“其他人”解决问题。但是为什么tableView:cellForRowAtIndexPath方法更好?当然,这不是一个规则,但一般来说,此方法用于单元格自定义。我也想了解如果将自定义放置在willDisplayCellYes中会导致问题的iOS框架是什么!让“其他人”解决问题。但是为什么tableView:CellForRowatineXpath方法更好?当然,这不是一个规则,但一般来说,此方法用于单元格自定义。我也想了解如果将自定义放置在willDisplayCell中,iOS框架会导致什么问题