indexPath.row在UICollectionView中重新加载

时间:2016-07-30 17:32:16

标签: ios iphone swift uicollectionview

我有一个$state.go(state).then(smoothScroll(document.querySelector(val)));有3行,在第一个indexPath(0)中我要添加UICollectionViewController。当我启动应用程序时,它可以工作但当我进入另一个控制器并返回时,UIView在其他行中。这是代码:

UIView

当我启动应用程序时,屏幕为:

launch screen app

当我进入另一个控制器然后回来时,屏幕是:

screen

1 个答案:

答案 0 :(得分:0)

在另一个单元格中重复方形蓝色的原因是因为collectionView正在重复使用相同的单元格。

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

    let customCell = ollectionView.dequeueReusableCellWithReuseIdentifier(customCellId, forIndexPath: indexPath) as! CustomCell

    // HERE YOU HAVE TO RESET THE CELL TO DEFAULT VALUES
    // LIKE REMOVING THE BLUE SQUARE VIEW
    customCell.view2.removeFromSuperview()

    if indexPath.row == 0 {
        customCell.setupUIView()
        customCell.nameLabel.text = ""
    } else {   
        customCell.nameLabel.text = "\(label2.text) \(materie[indexPath.row])"
        customCell.setupViews()
    }

    return customCell
}