从 tableView.allowsMultipleSelectionDuringEditing = YES 选择行时如何防止蓝色突出显示

Posted

技术标签:

【中文标题】从 tableView.allowsMultipleSelectionDuringEditing = YES 选择行时如何防止蓝色突出显示【英文标题】:How can I prevent blue highlight when select row from tableView.allowsMultipleSelectionDuringEditing = YES 【发布时间】:2016-05-23 18:11:16 【问题描述】:

我有一个表格视图和自定义 TableViewCell,配置为允许在编辑模式下选择多个单元格,当我选择单元格时会显示一个复选标记。

tableView.allowsMultipleSelectionDuringEditing = YES

当我在编辑模式下选择我的单元格时,我想防止蓝色突出显示。

我尝试了很多方法,比如配置单元格选择样式,但是通过这种配置,当单元格被选中时,“复选标记”将不会显示在编辑模式中。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

在这种情况下,我真的需要帮助。谢谢。

【问题讨论】:

您可以将自定义突出显示颜色设置为清晰的颜色 @MSU_Bulldog 我该怎么做? 【参考方案1】:

您可以覆盖自定义 tableViewCell 的 selectedBackgroundView 属性 这行代码对我有用

[cell setSelectedBackgroundView:[[UIView alloc]initWithFrame:CGRectMake(cell.frame.origin.x, cell.frame.origin.x, cell.frame.size.width, cell.frame.size.height)]];

【讨论】:

【参考方案2】:

一种方法是覆盖单元格中的setHighlighted:animated:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated 
    // do nothing

这将阻止突出显示行为,而不是选择行为。可以使用以下命令完全覆盖选择:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
    // update UI for selection state

【讨论】:

【参考方案3】:

斯威夫特:

cell.selectedBackgroundView = UIView(frame: cell.frame)

cell.selectedBackgroundView.isHidden = true

但它可能仍然无法按您的预期工作。 When selected all of the cell's subviews' backgroundColor to clear color(transparent), you may want to recover it

【讨论】:

以上是关于从 tableView.allowsMultipleSelectionDuringEditing = YES 选择行时如何防止蓝色突出显示的主要内容,如果未能解决你的问题,请参考以下文章

从PRISM开始学WPFMVVMViewModel?

在 python 中,为啥从数组读取比从列表读取慢?

从图库中挑选或从相机捕获的高质量图像

从PRISM开始学WPFMVVMCommand?

从PRISM开始学WPFPrism?

mysql 主-主-从-从