collectionView внутри контроллера вид не отображается - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь добавить collectionView внутри контроллера представления.В контроллере представления у меня уже есть некоторый контент, и я пытаюсь добавить представление коллекции как подпредставление прямо под последним контентом в контроллере представления.Я не уверен, как еще пойти об этом.Пожалуйста помоги.Вот код ниже:

import UIKit

class StoreDetailViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {


override func viewDidLoad() {
    super.viewDidLoad()

    configureUI()
}

func configureUI() {

    view.backgroundColor = .white

    navigationItem.title = "Store"

    let imageView: UIImageView = {
        let image = UIImageView()
        image.image = UIImage(named: "store")
        image.contentMode = .scaleAspectFill
        image.layer.cornerRadius = 16
        image.layer.masksToBounds = true
        return image
    }()

    let nameLabel: UILabel = {
        let name = UILabel()
        name.font = UIFont.systemFont(ofSize: 16, weight: .heavy)
        name.text = names
        name.numberOfLines = 2
        name.textColor = .primaryDark
        return name
    }()

    let descriptionLabel: UILabel = {
        let description = UILabel()
        description.font = UIFont.systemFont(ofSize: 12, weight: .medium)
        description.text = desc
        description.numberOfLines = 5
        description.textColor = .primaryDark
        return description
    }()

    let collectionView: UICollectionView = {
        let layout = UICollectionViewFlowLayout()
        let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
        cv.translateAll()
        cv.delegate = self
        cv.dataSource = self
        cv.register(StoreProductsCell.self, forCellWithReuseIdentifier: "cellId")
        cv.backgroundColor = .red
        return cv
    }()

    view.addSubview(imageView)
    view.addSubview(nameLabel)
    view.addSubview(descriptionLabel)
    view.addSubview(collectionView)

}

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

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

}

Я также уже добавил ограничения, но не включил их в код.другие детали в vc показывают хорошо, но это просто представление коллекции, которое не регистрируется в контроллере представления

1 Ответ

0 голосов
/ 24 сентября 2019

Позвоните collectionView.reloadData() после добавления его в свой просмотр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...