我试图在UICollectionView中为我的单元格实现一个自定义选择样式.即使可以在didSelect和didDeSelect方法中手动执行此操作,我想通过在UICollectionViewCell中操作“selected”变量来实现此目的.
我有这个代码:
override var selected: Bool { get { return super.selected } set { if newValue { self.imageView.alpha = 0.5 println("selected") } else if newValue == false { self.imageView.alpha = 1.0 println("deselected") } } }
现在,当我选择一个单元格时,单元格被突出显示,但是“选择”将被打印两次,并且取消选择不起作用(即使实现了两个UICollectionView方法).
我该怎么办?谢谢!
解决方法
通过进入代码来了解它.问题是super.selected没有被修改.所以我更改了代码:
override var selected: Bool { get { return super.selected } set { if newValue { super.selected = true self.imageView.alpha = 0.5 println("selected") } else if newValue == false { super.selected = false self.imageView.alpha = 1.0 println("deselected") } } }
现在它的工作