我已经在我的自定义 UITableViewCell 类中覆盖了 setHighlight。但是,我并不总是想使用它。我怎样才能防止它被使用?

Posted

技术标签:

【中文标题】我已经在我的自定义 UITableViewCell 类中覆盖了 setHighlight。但是,我并不总是想使用它。我怎样才能防止它被使用?【英文标题】:I've overrode setHighlight in my custom UITableViewCell class. However, I don't always want to use it. How can I prevent from it being used? 【发布时间】:2015-06-29 03:41:32 【问题描述】:

我在自定义 uitableviewcell 的 -setHighlighted 方法中为自定义单元格着色。效果很好。

但是,我有一些控制器想要使用它,而其他一些我根本不想要任何突出显示。

当我覆盖setHighlight 时,设置单元格的.selectionStyle = UITableViewCellSelectionStyleNone 不起作用。

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

您可以使用UITableViewDelegates -tableView:shouldHighlightRowAtIndexPath:

【讨论】:

【参考方案2】:

你可以尝试在 setHighlighted 中检查self.selectionStyle,如果self.selectionStyle == UITableViewCellSelectionStyleNone,则使用 super 方法。

【讨论】:

我试过了。不幸的是,我需要“无”才能使用自定义 setHighlighted 覆盖。 你尝试重写- (void)layoutSubviews; 吗?

以上是关于我已经在我的自定义 UITableViewCell 类中覆盖了 setHighlight。但是,我并不总是想使用它。我怎样才能防止它被使用?的主要内容,如果未能解决你的问题,请参考以下文章

来自 .xib 文件的自定义 UITableViewCell

我怎样才能在我的自定义表格视图单元格上实现这个 UI

我的自定义 UITableViewCell 表格单元格显示为项目的空白列表

Swift 中的自定义 UITableViewCell 注册类

具有错误背景颜色的自定义 UITableViewCell

使用我的自定义初始化器来初始化我的表格单元格(继承 UITableViewCell)