【发布时间】:2024-01-16 23:45:01
【问题描述】:
class SceneCell: UICollectionViewCell {
override var isSelected: Bool {
didSet {
setSelected(bool: isSelected)
}
}
override var isHighlighted: Bool {
didSet {
setHighlighted(bool: isHighlighted)
}
}
@IBOutlet weak var thumbnailImageView: UIImageView!
override func draw(_ rect: CGRect) {
super.draw(rect)
self.backgroundColor = .clear
self.thumbnailImageView.layer.borderColor = UIColor.green.cgColor
self.thumbnailImageView.layer.masksToBounds = true
self.thumbnailImageView.clipsToBounds = true
self.thumbnailImageView.layer.cornerRadius = 8
}
func update(with scene: Scene) {
}
private func setHighlighted(bool: Bool) {
if bool {
self.alpha = 0.5
} else {
self.alpha = 1.0
}
}
private func setSelected(bool: Bool) {
if bool {
self.thumbnailImageView.layer.borderWidth = 2.5
} else {
self.thumbnailImageView.layer.borderWidth = 0
}
}
}
在我的代码中,当 isSelected 设置为 true 时,我将图像视图的图层边框宽度更改为 2.5。
当我选择一个单元格并滚动集合视图时,我认为重用该选定单元格时单元格保持选中状态,但重用单元格变为未选中状态。其次,当我回到选中的单元格并重新使用未选中的单元格时,我认为它处于未选中状态。但是单元格会自动设置为选中状态。
集合视图是否自动管理这些?
【问题讨论】:
标签: ios swift uicollectionview uikit uicollectionviewcell