我已经阅读并尝试了一些在 StackOverflow 上找到的答案。我也从博客中阅读并尝试了一些东西,但似乎没有什么能完成我正在寻找的东西。
我创建一个UIView
并将其背景颜色设置为我想要的UITableViewCell
选择颜色(而不是标准的蓝色或灰色选择颜色)。我将它添加UIView
到我的单元格中selectedBackgroundView
,这工作正常,我的单元格在用户选择时更改为所需的颜色。
这种方法在 Plain 上效果很好UITableViews
;分组不太好。在分组UITableView
上,第一个和最后一个单元格不符合剪辑/蒙版边界,如下面的屏幕截图所示。
我知道没有办法只舍入左上角和右上角。
我想严格通过代码来做到这一点,没有图像。
问题
有谁知道一个很好的小工作来改变一个只使用而不是图像的selectedBackgroundView
颜色并使第一个和最后一个单元格符合圆角边界?UITableViewCell
UIView
例子
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString * CellIdentifier = @"Cell";
WCSBadgedCell * cell = [[WCSBadgedCell alloc] initWithStyle:UITableViewCellStyleSubtitle andBadgeStyle:0 reuseIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[WCSBadgedCell alloc] initWithStyle:UITableViewCellStyleDefault andBadgeStyle:0 reuseIdentifier:CellIdentifier];
}
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:DARKBROWN];
[bgColorView setClipsToBounds: YES];
[cell.layer setMasksToBounds:YES];
[cell setSelectedBackgroundView:bgColorView];
[cell.textLabel setText: @"Testing a Cell"];
return cell;
}
截图
解决方案
我接受了 CodaFis 的回答,因为他添加了一条评论,指出了一个非常好的(但冗长的)解决方案。我不得不做很多修改,但最后,我现在有了我需要的 selectedBackgroundView,它位于第一个和最后一个单元格的拐角处,再次感谢!