Регистрация коллекцииПросмотреть внутри UIViewController - PullRequest
0 голосов
/ 10 января 2019

В раскадровке я создал UIViewController и добавил в него коллекцию ViewView. Я не знаю, почему мои клетки не появляются.

class ImageCollectionView: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {

let imageCellId = "imageCell"

@IBOutlet var collectionView: UICollectionView!

override func viewDidLoad() {
    super.viewDidLoad()

    let layout = UICollectionViewFlowLayout()
    collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
    collectionView.delegate = self
    collectionView.dataSource = self
}

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

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: imageCellId, for: indexPath) as! ImageCollectionViewCell
    cell.backgroundColor = .blue
    return cell
}

}

enter image description here

1 Ответ

0 голосов
/ 10 января 2019

Удалить это

collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)

при добавлении collectionView в IB

@IBOutlet weak var collectionView: UICollectionView!

тогда не создавайте его заново, так как он загружен зарегистрированной ячейкой


Если соединение идет не так, как должно, тогда

collectionView = UICollectionView(frame:self.view.bounds, collectionViewLayout: layout)

и вам нужно будет зарегистрировать ячейку программно или использовать UICollectionViewController


Редактировать: в AppDelegate

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "vcID")
window?.rootViewController = vc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...