我有一个带自定义单元格的collectionView。 我试图在每个单元格中添加动态标签,但它们仅添加到显示的最后一个单元格中。如果我进行滚动,标签将消失,并出现在显示的新单元格中。 标签的数量和文本将通过Web服务实现。 这是我的cellForItemAtIndexPath函数:
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UndatedCell
cell.titleLabel.text = "Sacar al perro"
cell.locationLabel.text = "Casa"
var aux: CGFloat = 0
for label in labelsArray {
let labelWidht = calculateLabelWidht(label) + 20
cell.labelsView.addSubview(label)
label.leftAnchor.constraintEqualToAnchor(cell.labelsView.leftAnchor, constant: aux).active = true
label.centerYAnchor.constraintEqualToAnchor(cell.labelsView.centerYAnchor).active = true
label.widthAnchor.constraintEqualToConstant(labelWidht).active = true
aux = aux + labelWidht + 8
}
return cell
}
在viewDidLoad中,我创建了演示标签:
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView!.registerClass(UndatedCell.self, forCellWithReuseIdentifier: reuseIdentifier)
self.collectionView?.alwaysBounceVertical = true
let label1 = LabelLabel()
label1.text = "Zara"
labelsArray.append(label1)
let label2 = LabelLabel()
label2.text = "Perro"
labelsArray.append(label2)
let label3 = LabelLabel()
label3.text = "Amigo"
labelsArray.append(label3)
}
最后,这是结果的图片:
非常感谢你的时间!