如何以编程方式将UILabel添加到Swift 3中的UICollectionViewCell

时间:2017-02-28 13:19:19

标签: ios swift3 uicollectionview xcode8 uicollectionviewcell

我有一些UICollectionViewCells,我想以编程方式向单元格添加两个标签。我怎么能以正确的方式做到这一点?

2 个答案:

答案 0 :(得分:1)

在您的单元格类中,将其定义为全局。

class YourCollectionViewCell: UICollectionViewCell {

        var titleLabel:UILabel = {
            let label = UILabel(frame: CGRect(x:100, y: 30, width: UIScreen.main.bounds.width , height: 40))
            label.textAlignment = .left
            label.lineBreakMode = .byWordWrapping
            label.numberOfLines = 0
            return label
        }()

        override init(frame: CGRect) {
            super.init(frame: frame)
            self.addSubview(self.titleLabel)
        }
}

答案 1 :(得分:-1)

您可以使用关键字:customize table view cell

进行google

这是你可以做到的:

首先,您需要创建一个UICollectionViewCell的子类,如下所示:

//我将YourCellClass用作custom cell's class

class YourCellClass: UITableViewCell {
// Your can add your label to this Cell
// Review @Özgür Ersil's code above
}

然后,您必须将此类注册到表视图中。该类必须具有标识符

tableView.register(YourCellClass.self, forCellReuseIdentifier: "cellId")

然后设置表格视图的datasource。并在tableView:cellForRowAtIndexPath中添加以下代码以获取单元格类的实例并将其返回给表视图行

let cell = tableView.dequeueReusableCell(withIdentifier: "cellId") as! YourCellClass
return cell