Iphone 更改单个UITableView单元格的UITableView分隔色

Iphone 更改单个UITableView单元格的UITableView分隔色,iphone,Iphone,我有一个UITableView,它使用各种自定义的UITableViewCells 我希望能够使这些表格单元格中的一个与其他单元格的分隔符颜色不同 我知道tableview.separatorcolor会更新整个tableview。我是否缺少某个特定于单元格的属性或其他方法来执行此操作 谢谢你的提示。很抱歉,如果我只是在UITableViewCell类中的某些内容上设置空格。tableView.separatorColor在所有单元格中都是全局的 如果要进一步自定义这些颜色,最好将separat

我有一个
UITableView
,它使用各种自定义的
UITableViewCells

我希望能够使这些表格单元格中的一个与其他单元格的分隔符颜色不同

我知道
tableview.separatorcolor
会更新整个
tableview
。我是否缺少某个特定于单元格的属性或其他方法来执行此操作


谢谢你的提示。很抱歉,如果我只是在
UITableViewCell
类中的某些内容上设置空格。
tableView.separatorColor
在所有单元格中都是全局的

如果要进一步自定义这些颜色,最好将
separatorStyle
属性设置为
UITableViewCellSeparatorStyleNone
,并覆盖
UITableViewCell


然后,您可以在
单元格的
contentView
中绘制自己的自定义分隔符,并对其进行自定义。

免责声明-这在我当时的特定情况下对我有效。它不能保证工作,似乎不再工作,我现在建议您使用子类
UITableViewCell

在查看如何在分组的
UITableView
中不同的组/节之间设置
UITableView.separatorColor
时遇到此帖子

您不一定需要子类化
UITableViewCell
。您可以在每次调用
tableView:cellForRowAtIndexPath:
时尝试设置
tableView.separatorColor

例如,如果希望分隔符在第一部分中以默认颜色可见,在第二部分的第一行/单元格中可见,在第二部分的其余行中不可见,可以执行以下操作:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
    case 0:
        tableView.separatorColor = nil;
        break;
    case 1:
        switch (indexPath.row) {
            case 0:
                tableView.separatorColor = nil;
                break;
            case 1:
                tableView.separatorColor = [UIColor clearColor];
                break;
            default:
                break;
        }
        break;
    default:
        break;
}

从iOS 7开始,类似这样的功能似乎运行良好:

  • 在UITableView上设置
    UITableViewCellSeparatorStyleSingleLine
  • 对于要更改分隔符颜色的单元格,首先通过更改insets
    cell.separatorInset=UIEdgeInsetsMake(0,0,0,10000)隐藏分隔符
  • 更改应具有不同分隔符颜色的单元格的背景色
    cell.backgroundColor=[UIColor greenColor]

  • 现在,分隔符的颜色将与单元格的背景颜色相同。请注意,所有这些都可以在单元格的xib文件上设置,而无需任何代码。另外请注意,您可能希望将单元格的contentView的背景颜色更改为与默认颜色不同的颜色(可能为白色),这样绿色将仅显示在分隔线上。

    非常有趣。我感谢你更新这个。我最终在我的牢房里设置了我自己的分离器,但这看起来很有希望,我会尝试一下。我猜每次设置uitablecell时都会检查该值,因此简单地更改它不会影响性能。我有机会在另一个tableview中再次遇到此问题。这种方法有效,避免了为每个单元格绘制自己的分隔符。这在iOS SDK 4.3中不适用于我。当我尝试它时,分隔符会在我滚动时弹出,并在我停止滚动时随机可见。我们不能保证这种攻击可以在不同的iOS版本中工作,因为在文档中,分隔符颜色被定义为全局属性。这是不安全的。如果节中的行数很高,这可能会起作用,但如果节很小,这肯定不起作用。