单元格从覆盖 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 中获取单独的颜色的主要内容,如果未能解决你的问题,请参考以下文章