UIcollectionview внутри UIcollectionviewcell и как отображать данные - PullRequest
0 голосов
/ 07 мая 2018

Мне нужно создать collectionView A, содержащий несколько типов ячеек. Одна из ячеек содержит collectionView B, которая может прокручиваться горизонтально. Так что collectionView A будет прокручиваться вертикально.

Могу ли я узнать, как его создать и как отобразить данные в collectionView B?

Еще раз спасибо, ребята

1 Ответ

0 голосов
/ 07 мая 2018

Коллекция A имеет ячейки, позволяющие назвать нашу целевую ячейку как ASubCell

тогда на ASubCell у нас будет Collection B со всем его делегатом, и вы создадите делегат скажем ASubCellDelegate для отправки действия на Collection B в ViewController Collection A, здесь пример

import UIKit

protocol ASubCellDelegate {
    // CollectionView Cell Pressed
    func onSubCellAtcolectionBPressed(_item : YourData)
}
class ASubCell: UICollectionViewCell {

    @IBOutlet weak var collectionViewB : UICollectionView!
     var delegate : ASubCellDelegate?

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        // setup your Collection View B
    }

}


// set up your horizontal Collection View
extension UICollectionViewCell:UICollectionViewDelegate,UICollectionViewDataSource {
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 10
    }
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
       let cell  =  collectionView.dequeueReusableCell(withReuseIdentifier: "YourBCellID", for: indexPath) as! YourBCellID
        return cell
    }
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

        if delegate != nil {
            self.onSubCellAtcolectionBPressed(YourData)
        }
    }

}
...