为多个UICollectionView单元格中的标签指定不同的文本

时间:2016-02-09 03:26:22

标签: ios swift uicollectionview

我有一个带自定义单元格的UICollectionView。一切都正常,但我不知道该怎么做是为每个单元格中的标签分配不同的文本。我在每个部分都有一个部分和三个项目。我希望所有三个项目都具有完全相同的布局。我的想法是我需要为每个单元格分配不同的标识符,但我不确定如何为不止一个单元格标识符设置不同的文本。

感谢任何帮助,谢谢。

let reuseIdentifier = "directionCell"

   override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {

    return 1
}


override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    return 3
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! CustomCollectionViewCell
    cell.titleLabel.text = "Current title"
    cell.subtitleLabel.text = "Choose to start"
    cell.layer.cornerRadius = 10




    return cell

2 个答案:

答案 0 :(得分:1)

如果你有3个单元格,3个单元格有不同的内容,只需创建3个collectionviewcels并连接IB出口,然后调用这样的主题: -

  func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var cell: UICollectionViewCell!
    let reuseIdentifier = "CustomCollectionViewCell"
    let cell1 = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! CustomCollectionViewCell
    if indexPath.row == 0 {
        cell1.titleLabel.text = "Current title"
        cell1.subtitleLabel.text = "Choose to start"
        cell1.layer.cornerRadius = 10
        cell = cell1
    } else if indexPath.row == 1 {
        cell2.titleLabel.text = "Current title"
        cell2.subtitleLabel.text = "Choose to start"
        cell2.layer.cornerRadius = 10
        cell = cell2
    } else {
        cell3.titleLabel.text = "Current title"
        cell3.subtitleLabel.text = "Choose to start"
        cell3.layer.cornerRadius = 10
        cell = cell3
    }

    return cell
}

答案 1 :(得分:0)

当你将numberOfItemsInSection设置为3时,cellForItemAtIndexPath也将被调用3次。因此,如果您希望显示一组数据或信息,请在cellForItemAtIndexPath函数中使用它来获取所需的结果。因此,假设您有一个标题数组,请使用该数组 cellForItemAtIndexPath。

KafkaTopicOffsetManager