美文网首页
UITableViewCell和UICollectionView

UITableViewCell和UICollectionView

作者: 雷霸龙 | 来源:发表于2019-07-29 11:50 被阅读0次

    UITableViewCell和UICollectionViewCell,当我们选中某一个cell的时候,希望这条cell上的某些控件的状态得以改变,其他cell的某些控件状态也会改变,这时候我们就需要在自定义cell里面重写系统的选择方法,UITableViewCell需要重写setSelected(_ selected: Bool, animated: Bool)方法,UICollectionViewCell需要重写isSelected属性,而且需要加一个延时,不然会被覆盖掉,代码如下

    // UITableViewCell重写的方法
    override func setSelected(_ selected: Bool, animated: Bool) {
            super.setSelected(selected, animated: animated)
    
            // Configure the view for the selected state
            
            if selected {
                nameLabel?.textColor = Tools.color4B84FF()   // 颜色自己根据需要来设置,这里是自己封装的方法,也可以直接用UIColor.orange等
                addressLabel?.textColor = Tools.color4B84FF()
            }else{
                nameLabel?.textColor = Tools.color223264()
                addressLabel?.textColor = Tools.color9FA5BB()
            }
        }
    
    
    // UICollectionViewCell重写的属性
    override var isSelected: Bool {
    
            willSet {
                if newValue {
                    self.perform(#selector(changeColors), with: nil, afterDelay: 0.2)
    //                label?.textColor = Tools.colorFDB76C()
    //                label?.layer.borderColor = Tools.colorFDB76C().cgColor
                } else {
                    label?.textColor = Tools.color464E6D()
                    label?.layer.borderColor = Tools.color9FA5BB().cgColor
                }
            }
        }
        
        
        @objc func changeColors() {
            label?.textColor = Tools.colorFDB76C()
            label?.layer.borderColor = Tools.colorFDB76C().cgColor
        }
    

    相关文章

      网友评论

          本文标题:UITableViewCell和UICollectionView

          本文链接:https://www.haomeiwen.com/subject/gxzvrctx.html