有人可以向我解释为什么这些方法 setSelected(_:animated:)
和 setHighlighted(_:animated:)
在初始化/加载 TableView 时调用?
我本以为只有在我实际突出显示/选择一个单元格时才会调用这些方法...
我在具有三个动态自定义单元格的 TableViewController 中对此进行了测试,我只是在方法调用中打印出一些文本:
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
print("setSelected()")
}
override func setHighlighted(_ highlighted: Bool, animated: Bool) {
print("setHighlighted()")
}
控制台输出:
setSelected()
setHighlighted()
setSelected()
setHighlighted()
setSelected()
setHighlighted()
最佳答案
setSelected(_:animated:)
和 setHighlighted(_:animated:)
每次启动 TableView 中的单元格时都会被调用。因为 setSelected
方法用于设置单元格是否被选中时的 isSelected
属性。默认情况下,每个单元格都被选中 false
。要设置 selected = false,调用此方法。
setHighlighted
在每次启动单元格时调用。因为每个单元格都是在 isHighLighted
属性设置为 false
的情况下启动的。要设置此值,默认情况下会调用此方法。是否手动设置 true 或 false。
关于ios - 为什么tableview的setSelected(_ :animated:) and setHighlighted(_:animated:) method called on init/load?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474274/