单元格从覆盖 UIVIew 中获取单独的颜色

Posted

技术标签:

【中文标题】单元格从覆盖 UIVIew 中获取单独的颜色【英文标题】:Cell takes separate color from overlay UIVIew 【发布时间】:2016-01-14 14:42:56 【问题描述】:

此错误仅在 iPad 上重现,在 iPhone 上正常工作。 我已经对 UITableView 进行了分组,并且在第一部分的最后一个单元格中有这个代码用于删除分隔符:

self.separatorInset = UIEdgeInsetsMake(0,0,0,CGFLOAT_MAX);

而且看起来不错。

但是如果我添加并且他们将另一个 UIView 删除到 tableView 上方的 viewController 视图:

UIView *coloredView = [[UIView alloc] initWithFrame:self.view.bounds];
coloredView.backgroundColor = [UIColor redColor];
[self.view addSubview: coloredView];
[coloredView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:2];

我的最后一个单元格将是这样的:

我如何修复它或用另一种方式从最后一个单元格中删除分隔符?

【问题讨论】:

【参考方案1】:

您正在尝试在每个单元格的基础上自定义分隔符行为。它并没有真正受到支持,而且正如您所看到的,您使用的 inset hack 有局限性。

我建议使用tableView.separatorStyle = UITableViewCellSeparatorStyleNone 删除所有分隔符。然后为每个单元格添加一个小的彩色 1pt UIView,以模拟一个实际的分隔符 - 在除最后一个单元格之外的所有单元格上。

您可以使用不同的单元子类,或者只是使用不同的单元标识符将视图插入故事板;使用自动布局以确保它粘在单元格底部并且不超过 1pt 高度。

这确实是您能做的最好的事情,而且它还为您提供了能够自定义分隔符颜色的好处。

【讨论】:

【参考方案2】:

为什么不选择“无”作为分隔符来删除分隔符?

【讨论】:

以上是关于单元格从覆盖 UIVIew 中获取单独的颜色的主要内容,如果未能解决你的问题,请参考以下文章

Python - 如何根据单元格从 CSV 中删除重复的单元格/行

选择单元格时,如何阻止 UIView 的背景颜色消失?

将表格视图单元格从一个表格视图移动到新的表格视图

使用多个单元格从另一张纸中搜索数据吗?

将列单元格从活动行复制到新行

将编辑过的单元格从 JTable 保存到数据库