如果我在情节提要中手动为collectionViewCells添加了单元格,该如何调用多个重用标识符?

时间:2018-10-06 06:48:46

标签: ios swift uicollectionview uicollectionviewcell

我正在对collectionViews进行一些编码。但是,我喜欢在Main.storyboard中工作,以视觉方式查看正在处理的内容。不幸的是,当在viewController中工作时,似乎使我的工作更多了,因为如果以编程方式完成,这样做会更快。

我试图为collectionViewCell调用多个重用标识符。但是我只知道怎么称呼一个细胞。现在我没有任何错误,只是我不知道在运行程序时如何显示所有单元格。

这是代码。

  func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 6
}


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Fashion Cell 0", for: indexPath)
    return cell
}

当我运行该应用程序时,我得到了这个。

enter image description here

请注意,在Main.Storyboard中,我手动添加单元格。 示例enter image description here

2 个答案:

答案 0 :(得分:0)

以这种方式进行

     func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 6
    }


    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        if indexPath.item == 0 {
       let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Fashion Cell 0", for: indexPath)
        return cell
    } 

     if indexPath.item == 1 {
       let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Fashion Cell 1”, for: indexPath)
        return cell
    } 
    //…… 


    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Fashion Cell 0", for: indexPath)
    return cell
    }

尽管您可以使用 switch 代替 if 以获得更好的可读性

答案 1 :(得分:0)

您不能以这种方式。创建一个由您的图像数量组成的数组并将其设置为collectionView。无需在情节提要中添加更多单元格。

SELECT C.CUSTOMERID, C.CUSTOMERNAME
FROM @CUSTOMER As C
JOIN @ORDER O 
    ON C.CUSTOMERID = O.CUSTOMERID
JOIN @SPECIALORDERDTL SO 
    ON O.SPECIALORDERID = SO.SPECIALORDERID
JOIN @SPECIALORDERDATA SOD
    ON SO.SPECIALORDERDATAID = SOD.SPECIALORDERDATAID
GROUP BY C.CUSTOMERID, C.CUSTOMERNAME
HAVING COUNT(CASE WHEN SOD.SPECIALORDERMASTERID = 2 THEN 1 END) = 0

您可以这样走。这是imaplement collectionview的正确方法。