关于swift

时间:2016-07-19 11:55:39

标签: ios swift uicollectionview

我有一个带自定义单元格的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)
    }

最后,这是结果的图片:

collectionViewPhoto

非常感谢你的时间!

0 个答案:

没有答案