子类UICollectionViewCell的属性

子类UICollectionViewCell的属性

这是我的课

class myCell: UICollectionViewCell {

     public var myProp:String = ""

     let myControl:UILabel = {

           let label = UILabel()
           label.translatesAutoresizingMaskIntoConstraints = false
           label.Text = myProp

        return label
    }()

}


我想在创建UI元素时使用myProp,但是编译器说我不能使用myProp

还是为什么这不正确

class myCell: UICollectionViewCell {

     public var myLabel:UILabel = UILabel()

     let myControl:UIView = {
            let ui = UIView()

            myLabel = {

              let lbl = UILabel()

              lbl.translatesAutoresizingMaskIntoConstraints = false

              return lbl
            }()

               ui.AddSubView(myLabel)

            return ui
        }()

    }

最佳答案

这会工作

class CollectionViewCell: UICollectionViewCell {
     public var myProp:String = ""

     override init(frame: CGRect) {
        super.init(frame: frame)

    }

     func setText() {
        let myControl:UILabel = {
            let label = UILabel()
            label.translatesAutoresizingMaskIntoConstraints = false
            label.text = myProp

            return label
        }()
        self.addSubview(myControl)
    }
}


在渲染期间,cellForRowAtIndex中需要实现此功能以添加带有文本的子视图。

 override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! CollectionViewCell
    cell.myProp = "text"
    cell.setText()

    return cell
}

关于swift - 子类UICollectionViewCell的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47661703/

10-10 00:17