多选模式下的 UITableView 删除选定单元格中所有子视图的背景颜色

Posted

技术标签:

【中文标题】多选模式下的 UITableView 删除选定单元格中所有子视图的背景颜色【英文标题】:UITableView in multi-selection mode removes background colours of all subviews in selected cell 【发布时间】:2016-07-17 13:36:00 【问题描述】:

多选模式下的 UITableView 会移除选定单元格中所有子视图的背景颜色。我不想更改子视图的背景颜色,只是在选择时显示刻度线。我试图将单元格的“selectedBackgroundView”和“multipleSelectionBackgroundView”分配给透明视图,但它不起作用。我还尝试在单元格的“setEditing”和“setHighlighted”功能中重新分配我的子视图的背景,但它也不起作用。有没有其他方法可以解决这个问题?

【问题讨论】:

【参考方案1】:

在属性检查器中将 tableView 单元格选择设置为无,或在代码中设置 cell.selectionStyle = .None

【讨论】:

这样做我无法选择单元格。我只希望复选标记可见而不更改背景。【参考方案2】:

对于 Swift 3

cell.selectionStyle = .gray
cell.selectedBackgroundView = 

    let colorView = UIView()
    colorView.backgroundColor = UIColor.clear

    return colorView
()

【讨论】:

以上是关于多选模式下的 UITableView 删除选定单元格中所有子视图的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 多选

如何为uitableview自定义多选编辑模式

iOS UITableView的多选

tableview 编辑模式单元格选择复选标记在滚动时消失

UITableView 在进入编辑模式时取消选择单元格

iOS——UITableView单选模式,多选模式,单选多选混合模式