如何在一个CollectionView中加载多个nib文件?

时间:2016-11-02 15:49:33

标签: ios swift uicollectionview uicollectionviewcell

这只会加载static_cast。我很确定这里发生了什么,但我想加载两者,但我不知道该怎么做。

我的代码注册集合视图单元格:

dynamic_cast

出列可重复使用的单元格:

DescriptionImageSliderCollectionViewCell

1 个答案:

答案 0 :(得分:4)

您不能使用相同的reuseIdentifier在CollectionView上注册多个nib。每个都使用一个独特的:

override func viewDidLoad() {
    super.viewDidLoad()

    let nibFile : UINib =  UINib(nibName: "DescriptionNearCollectionViewCell", bundle: nil)

    descriptionCollectionView.register(nibFile, forCellWithReuseIdentifier: "descriptionCell")

    let nibFile2 : UINib =   UINib(nibName: "DescriptionImageSliderCollectionViewCell", bundle: nil)

    descriptionCollectionView.register(nibFile2, forCellWithReuseIdentifier: "descriptionCell2")
    // This >>                                                                               ^
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    if (youWantCellOne) {
        return collectionView.dequeueReusableCell(withReuseIdentifier: "descriptionCell", for: indexPath)
    } else {
        return collectionView.dequeueReusableCell(withReuseIdentifier: "descriptionCell2", for: indexPath)
    }
}