突出显示的 UITableViewCell 和选定的 UITableViewCell 有啥区别?

Posted

技术标签:

【中文标题】突出显示的 UITableViewCell 和选定的 UITableViewCell 有啥区别?【英文标题】:What is the difference between a highlighted UITableViewCell and a selected UITableViewCell?突出显示的 UITableViewCell 和选定的 UITableViewCell 有什么区别? 【发布时间】:2010-04-17 10:19:16 【问题描述】:

UITableViewCell 反映两种不同的状态:突出显示和选定。

对我来说,它们听起来一样,那么它们到底有什么区别?

【问题讨论】:

【参考方案1】:

突出显示发生在触地时。

选中发生在修饰,然后调用didSelectRowAtIndexPath:。在标准的UITableView 中,突出显示和选择之间通常会有一小段延迟。

【讨论】:

【参考方案2】:

从外观上看:

Selected Cell:

选择会影响标签、图像和背景的外观。当单元格的选中状态设置为 YES 时,它会为选中的单元格绘制背景,其标题为白色。

背景将根据selectionStyleselectedBackgroundView 值绘制。正如 Apple 文档中提到的那样,我真的看不到任何白色标题。我只是看到了预期的背景变化。

Highlighted Cell:

突出显示会影响标签、图像和背景的外观。当单元格的突出显示状态设置为 YES 时,标签将以其突出显示的文本颜色(默认为白色)绘制。 请注意,要使突出显示正常工作,您必须使用 textLabel 和 detailTextLabel 属性获取单元格的标签,并设置每个标签的 highlightTextColor 属性;对于图像,使用 imageView 属性获取单元格的图像并设置 UIImageView 对象的 highlightImage 属性。

我并没有真正看到默认突出显示的文本颜色是白色。

所以我得出结论,选定的单元格外观会影响单元格的背景,而突出显示的单元格会影响标签文本颜色以及图像(如果设置了 highlightImage 属性)

【讨论】:

以上是关于突出显示的 UITableViewCell 和选定的 UITableViewCell 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

自动设置在 XCode 中突出显示的选定 UI 按钮?

长按时像 iMessage 一样突出显示 UITableViewCell

更改 UITableViewCell 中某些子视图的突出显示

如何使 UITableViewCell 突出显示状态持续存在

选择行时禁用uitableviewcell中的突出显示按钮

在 UITableViewCell 的突出显示上更改附件视图