0
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로 변경합니다.속성 관찰자가있는 컬렉션 뷰 셀을 변경하는 것이 좋지 않습니까?
하나의 셀을 선택하고 컬렉션보기를 스크롤하면 해당 셀을 재사용 할 때 셀이 선택된 상태로 유지되지만 재사용 셀은 선택되지 않은 상태로 변경됩니다. 둘째, 내가 선택한 셀로 돌아가서 선택되지 않은 셀을 재사용했을 때, 나는 그것이 선택되지 않은 상태에 있다고 생각했다. 그러나 셀은 자동으로 선택됩니다.
복용량 복용량보기가 자동으로이를 관리합니까?
하지만 내 코드는 완벽하게 작동합니다. – Sohn
재사용 문제점을 완벽하게 해결합니까? 나는 스크롤이 없을 때 완벽하게 작동하는 것 같아요, 그렇죠? –
재사용 문제가 없습니다. 내 질문은이 코드가 잘 작동하는 이유입니다. – Sohn