Jul*_*ius 24 ios uicollectionview uicollectionviewcell swift
我正在尝试在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")
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我选择一个单元格时,单元格会突出显示但"选中"会被打印两次并且取消选择不起作用(即使实现了两个UICollectionView方法).
我该怎么做?谢谢!
Mor*_*son 32
而对于Swift 3.0:
override var isSelected: Bool {
didSet {
alpha = isSelected ? 0.5 : 1.0
}
}
Run Code Online (Sandbox Code Playgroud)
Jul*_*ius 27
通过踩入代码来弄清楚它.问题是超级选择没有被修改.所以我把代码更改为:
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")
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在它正在运作.
osr*_*srl 13
试试这个吧.
override var selected: Bool {
didSet {
self.alpha = self.selected ? 0.5 : 1.0
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15299 次 |
| 最近记录: |