2017-02-13 105 views
1

我有兩個集合視圖單元格A和B,我需要同時加載這些單元格。但我沒有找到任何解決方案我如何加載集合視圖中的多個自定義視圖swift

  firstCollectionView.register(UINib(nibName: "A", bundle: Bundle.main), forCellWithReuseIdentifier: "A") 
    firstCollectionView.register(UINib(nibName: "B", bundle: Bundle.main), forCellWithReuseIdentifier: "B") 

這是兩個觀點,以及如何可以在加載時間2次。

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "A", for:indexPath) as? A 
+0

在同一節或同細胞或任何其他情況? –

+0

你的意思是什麼? ...你需要兩個不同的細胞還是? – John

+1

您可以同時對A和B同時進行序列化,並選擇要返回的哪一個 – Tj3n

回答

1

你想如何劃分不同的細胞類型?數字?就像,如果raw = 0,2,4,6等,你將有firstCell,如果raw = 1,3,5等,你會有secendCell?

因此,也許有這樣的事情:

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
     let cell = UICollectionViewCell() 

     cell = collectionView.register(UINib(nibName: "B", bundle: Bundle.main), forCellWithReuseIdentifier: "B") 

     if indexPath.row % 2 == 0 { 
      cell = collectionView..register(UINib(nibName: "A", bundle: Bundle.main), forCellWithReuseIdentifier: "A") 
     } 

     return cell 
    } 
0

註冊CustomCollectionViewCellviewDidLoad:

var nib1 = UINib(nibName: "CustomCollectionViewCell1", bundle: nil) 
    self.firstCollectionView().registerNib(nib1, forCellReuseIdentifier: "CustomCell1") 
    var nib2 = UINib(nibName: "CustomCollectionViewCell2", bundle: nil) 
    self.firstCollectionView().registerNib(nib2, forCellReuseIdentifier: "CustomCell2") 

現在這裏cellForItemAtIndexPath:方法返回你的細胞,

//As per your condition check cell index or section or any other your condition. 


if indexPath.row % 2 == 0 { 

     // Create an instance of CustomCollectionViewCell1 
    var cell: CustomCollectionViewCell1? = tableView.dequeueReusableCell(withIdentifier: "CustomCell1") 
     if self.cell == nil { 
      self.cell = CustomCollectionViewCell1(style: .subtitle, reuseIdentifier: "CustomCell1") 
     } 
    return cell! 

    }else{ 
     // Create an instance of CustomCollectionViewCell2 
    var cell: CustomCollectionViewCell2? = tableView.dequeueReusableCell(withIdentifier: "CustomCell2") 
     if self.cell == nil { 
      self.cell = CustomCollectionViewCell2(style: .subtitle, reuseIdentifier: "CustomCell2") 
     } 
    return cell! 
    } 
相關問題