ios – 尝试在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")
        }
    }
}

现在,当我选择一个单元格时,单元格被突出显示,但是“选择”将被打印两次,并且取消选择不起作用(即使实现了两个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")
        }
    }
}

现在它的工作

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...