让UITableView分隔线出现在imageView下面

9
所以我正在使用一种清单类型的东西。然而,我决定让勾选标记出现在单元格左侧。为了实现这一目标,我让每个单元格显示一个带有勾选标记的png图像,代码如下:cell.imageView?.image = UIImage(named: "check")。这样做效果很好,但是我遇到了一个问题,即分隔线不会出现在勾选标记下方,如下图所示。我不喜欢这种情况,因为空单元格的分隔符会延伸到整个单元格的长度。有什么建议可以让分隔符在图像下方可见吗?
2个回答

25

将此方法添加到您的表视图数据源中:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    cell.separatorInset = .zero
  }

或者在 -tableView:cellForRowAtIndexPath: 方法中执行相同的操作。

对于 Objective-C:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    [cell setSeparatorInset:UIEdgeInsetsZero];
}

这个可行。不过我把它改成了Swift语言。谢谢! - boidkan

4
你也可以在Storyboard中更改此设置:
选择表格视图单元格时,将分隔线更改为自定义插入并填写所需的插入值。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接