gpt4 book ai didi

ios - isHighlighted 和 isSelected didSet 只调用 UICollectionViewCell 而不是 UITableViewCell

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

我想在突出显示/选择时对自定义表格 View 单元格应用一些样式更改,因此我重写了 isHighlightedisSelected 来实现此目的。它适用于我的自定义 Collection View 单元格,但在我点击自定义表格 View 单元格时不起作用。

我为 TableView 和 Collection View 设置了完全相同的场景,并在自定义单元格上实现了以下内容:

override var isHighlighted: Bool {
didSet {
//called when I tap for CustomCollectionViewCell not for CustomTableViewCell
}
}

override var isSelected: Bool {
didSet {
//called when I tap for CustomCollectionViewCell not for CustomTableViewCell
}
}

我在这里错过了什么?为什么表格 View 单元格在点击时没有被调用?无论自定义单元格的内容如何,​​我尝试使用的任何表格 View 都会发生这种情况。

最佳答案

另一个答案对我不起作用。我认为原因是当包含 UITableView 处理选择时,永远不会调用 UITableViewCell.isSelected setter,该状态通过 func setSelected(_ selected: Bool, animated: Bool) 代替。这意味着在您的 UITableViewCell 子类中覆盖此函数而不是 setter 可以工作:

override func setSelected(_ selected: Bool, animated: Bool) {
// implementation that was meant to be in `isSelected` `didSet`
}

关于ios - isHighlighted 和 isSelected didSet 只调用 UICollectionViewCell 而不是 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512522/

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