Два CollectionViews на одном контроллере представления - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь иметь два представления коллекции на одном контроллере представления.Есть много сообщений, помогающих людям через это, но я не могу сказать, что я делаю неправильно.

Мой код следующий,

class FeedVC: UIViewController {
    @IBOutlet var collectionView: UICollectionView!
    @IBOutlet var collectionViewProgress: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()

        collectionView.dataSource = self
        collectionView.delegate = self
        collectionViewProgress.dataSource = self
        collectionViewProgress.delegate = self
    }
}

extension FeedVC:  UICollectionViewDelegate, UICollectionViewDataSource{
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        if (collectionView == self.collectionView){
            return 10
        }else{
            return 1
        }
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        print("hre")
        if (collectionView == self.collectionView){
            if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "UnclaimedCVC", for: indexPath) as? UnclaimedCVC {
                cell.configureCell()
                return cell
            }else{
                return UICollectionViewCell()
            }
        }else if(collectionView == self.collectionViewProgress){
            if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "InProgressCVC", for: indexPath) as? InProgressCVC {
                cell.configureCell()
                return cell
            }else{
                return UICollectionViewCell()
            }
        }else{
            return UICollectionViewCell()
        }
    }

    func numberOfSections(in collectionView: UICollectionView) -> Int {
        if (collectionView == self.collectionView){
            return 1
        }else{
            return 1
        }

    }
}

В настоящее время я получаю сообщение об ошибке,

'не удалось удалить из очереди вид вида: UICollectionElementKindCell с идентификатором InProgressCVC - необходимо зарегистрировать перо или класс для идентификатора или подключить ячейку прототипа в раскадровке'

1 Ответ

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

В viewDidLoad положить

collectionView.register(UnclaimedCVC.self, forCellWithReuseIdentifier: "UnclaimedCVC ")

collectionViewProgress.register(InProgressCVC.self, forCellWithReuseIdentifier: "InProgressCVC ")

Если вы создали их как Xibs

 collectionView.register(UINib.init(nibName: "UnclaimedCVC", bundle: nil), forCellWithReuseIdentifier: "UnclaimedCVC")

 collectionViewProgress.register(UINib.init(nibName: "InProgressCVC", bundle: nil), forCellWithReuseIdentifier: "InProgressCVC")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...