我正在编写一个应用程序,它在分组表视图中使用不同的选择颜色。就边界来说,这很有效。 我可以使用此帖子中的代码更改选择颜色: How to customize the background/border colors of a grouped table view cell?
但是我想在Apple使用的细胞周围另外拥有漂亮的边框。我该如何使用此边框?
http://www.mediafire.com/?x2gxbkjqu4d2zto
这是创建背景的代码 - 主要是从Post上面复制的: http://www.mediafire.com/?kltwlni1mf4t7ks
这就是我使用它的方式:
NSIndexPath * indexPath = [[[NSIndexPath alloc] initWithIndex:0] indexPathByAddingIndex:1];
CGRect frame = [[self tableView] rectForRowAtIndexPath:indexPath];
TLCustomCellBackgroundView * selectedBackgroundView = [[TLCustomCellBackgroundView alloc] initWithFrame:frame andColor:[UIColor redColor]];
[selectedBackgroundView setPosition:CustomCellBackgroundViewPositionBottom];
[[[self tableView] cellForRowAtIndexPath:indexPath] setSelectedBackgroundView:selectedBackgroundView];
正如你所看到的,除了第二个Cell周围的灰色边框外,我几乎能正常工作。
答案 0 :(得分:2)
在cellForRowAtIndexPath中,您可以为每个行/节设置边框(分隔符)。
if(indexPath.row == 1)
[tableView setSeparatorColor:[UIColor redColor]];
if(indexPath.section == 2)
[tableView setSeparatorColor:[UIColor greenColor]];
请记住为您想要的每一行/部分设置/重置此项。
如果要在红色单元格周围添加灰色边框,则为
if(indexPath.section == 0 && indexPath.row == 1){
//assuming this is the correct index)
[tableView.separatorColor = [UIColor colorWithRed:0.67 green:0.67 blue:0.67 alpha:1];
}
else
{
[tableView.separatorColor = [UIColor yourChosenDefaultColor]];
}
你实际上需要在你的cellForRowAtIndexPath中使用它,或者你要为整个TableView设置边框(也许这就是你想要做的)
答案 1 :(得分:0)
我找到了解决方法。它并不完全相同(分组样式中的UITableviewCell在iOS5中得到了更复杂的设计,但这对我来说已经足够了。我借用了这个方法来自 http://cocoawithlove.com/2010/12/uitableview-construction-drawing-and.html
它很棒!
我使用的代码是:http://www.mediafire.com/?mdxkpfe8g74ctk9
希望这有助于其他人