gpt4 book ai didi

iphone - 澄清 UITableViewCell 在突出显示事件上的未记录行为

转载 作者:可可西里 更新时间:2023-11-01 04:54:52 24 4
gpt4 key购买 nike

UITableViewCell 在单元格高亮显示(用户触摸单元格)时修改其 contentView 层次结构的内容。

迄今为止我发现的两个例子:

  • 将 UIView 放入具有背景色的单元格的 contentView 中。当表格单元格突出显示时,UIView 的背景颜色会被移除(它显然设置为具有清晰的背景。)
  • 在 contentView 中放置一个 UIButton。当单元格高亮时,按钮也被强制进入高亮状态。

就好像 UITableView 单元格中有一些逻辑检查单元格层次结构中的所有 View 并根据一组神秘规则修改它们,然后在单元格取消突出显示后将它们恢复正常。

任何人都可以解释 UITableViewCell 在我的自定义表格 View 单元格的内容中修改什么以及为什么修改(意外地并且以未记录的方式)?

谢谢!

最佳答案

UITableViewCell 的突出显示记录在 Apple docs 中如下:

The highlighting affects the appearance of labels, image, and background. When the the highlighted state of a cell is set to YES, labels are drawn in their highlighted text color (default is white). The default value is is NO. If you set the highlighted state to YES through this property, the transition to the new state appearance is not animated. For animated highlighted-state transitions, see the setHighlighted:animated: method.

Note that for highlighting to work properly, you must fetch the cell’s labels using the textLabel and detailTextLabel properties and set each label’s highlightedTextColor property; for images, get the cell’s image using the imageView property and set the UIImageView object’s highlightedImage property.

这里没有提到 UIButtons,而是 this post是关于如何防止按钮在单元格进入高亮状态时进入高亮状态。

关于iphone - 澄清 UITableViewCell 在突出显示事件上的未记录行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5823565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com