在UITableViewCell上设置自定义分隔符插入
在我的UITableView
中,我想要一个以'为中心的'分隔符效果,其中分隔符从左侧缩小30pt,从右侧缩小为30。 我已经设法从Interface Builder中完成设置TableView本身的'自定义插入'属性,但我无法通过代码重现此行为(我必须这样做)。在UITableViewCell上设置自定义分隔符插入
特别地,与此片的代码:
self.tableView.separatorColor = .green
self.tableView.separatorStyle = .singleLine
self.tableView.separatorInset = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 30)
并且还这一:
@objc(tableView:cellForRowAtIndexPath:) func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "recent_cell") as! TPExpandableTableViewCell
//setting cell insets
cell.separatorInset = separatorInset
cell.item = items[indexPath.row]
return cell
}
我获得关于iPhone 6S模拟器以下输出:
Se ems就像分隔符内容视图缩小一样,但分隔符背景视图不会。我也尝试删除设置单元格的separatorInset的行,结果是一个插入等于UIEdgeInset.zero
我可以确认绿色下的白线是与分隔符相关的视图,因为如果我更改separatorStyle到.none
,它消失了
任何帮助吗?
基本上,代码,第一块是用于设置隔板插入,颜色和样式,其是正确的:
self.tableView.separatorColor = .green
self.tableView.separatorStyle = .singleLine
self.tableView.separatorInset = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 30)
和所述一个小区处的separatorInset为单元格的内容。所以我很困惑你实际想要在这里实现什么。从上一句话来看,你的内容收缩了,这是由'cell.separatorInset = separatorInset'引起的,你不知道怎么做。
所以我建议你删除此行的代码:
cell.separatorInset = separatorInset
问题是绿色分隔符插入下面的白线! – donadev
将你的tableView的背景颜色设置为“红色”,以便修复它。 – nferocious76
你需要一个上海华盈,这将是基本视图,该视图的颜色为绿色,按您的要求和约束领导,trailling顶部,底部将为0. 现在将子视图添加到此基本视图中,其中包含前导,尾部0和顶部,底部等约束条件。 –