突出显示的 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 时,它会为选中的单元格绘制背景,其标题为白色。
背景将根据selectionStyle
和selectedBackgroundView
值绘制。正如 Apple 文档中提到的那样,我真的看不到任何白色标题。我只是看到了预期的背景变化。
Highlighted Cell:
突出显示会影响标签、图像和背景的外观。当单元格的突出显示状态设置为 YES 时,标签将以其突出显示的文本颜色(默认为白色)绘制。 请注意,要使突出显示正常工作,您必须使用 textLabel 和 detailTextLabel 属性获取单元格的标签,并设置每个标签的 highlightTextColor 属性;对于图像,使用 imageView 属性获取单元格的图像并设置 UIImageView 对象的 highlightImage 属性。
我并没有真正看到默认突出显示的文本颜色是白色。
所以我得出结论,选定的单元格外观会影响单元格的背景,而突出显示的单元格会影响标签文本颜色以及图像(如果设置了 highlightImage 属性)
【讨论】:
以上是关于突出显示的 UITableViewCell 和选定的 UITableViewCell 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
长按时像 iMessage 一样突出显示 UITableViewCell
更改 UITableViewCell 中某些子视图的突出显示