UICollectionView внутри UIViewController не позволяет прокручивать - PullRequest
0 голосов
/ 10 декабря 2018

Edit1: я не использую раскадровку, все было добавлено программно
Edit2: обновлен фрагмент кода

Здравствуйте, у меня есть следующие проблемы с UICollectionView

  • CollectionView не позволит вам прокручивать независимо от того, что вы делаете.
  • Иногда клетки даже полностью исчезают, оставляя вас с белым фоном CollectionView.

Проблема возникает, когда выпопробуйте прокрутить вверх, чтобы просмотреть невидимые ячейки.

  • Я создал CollectionView, который имеет ячейки другого типа.
  • CollectionView вложен в ViewController под ImageView.
  • Добавлены ограничения, и они отлично работают.

Как мне сделать его прокручиваемым?

GIF, представляющий проблему

GIF Video

ViewController.swift

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    self.navigationItem.title = "Featured"
    self.view.backgroundColor = UIColor.white

    // Add UImage carousel
    let carousel: UIImageView = {
        let imageView = UIImageView()
        let image = UIImage()

        imageView.backgroundColor = UIColor.purple

        return imageView
    }()
    self.view.addSubview(carousel)
    carousel.translatesAutoresizingMaskIntoConstraints = false

    // Add CollectionView
    let featuredControllerLayout = UICollectionViewFlowLayout()
    // Add CollectionViewController
    featuredControllerLayout.scrollDirection = .vertical
    let featuredController = FeaturedCollectionViewController(collectionViewLayout: featuredControllerLayout)
    guard let featuredView = featuredController.collectionView else { return }

    self.view.addSubview(featuredView)
    featuredView.translatesAutoresizingMaskIntoConstraints = false

    // Setup Constraints
    if #available(iOS 11.0, *) {
        let guide = self.view.safeAreaLayoutGuide
        let guideSize = guide.layoutFrame.size

        carousel.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isActive = true
        carousel.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
        carousel.topAnchor.constraint(equalTo: guide.topAnchor).isActive = true
        carousel.frame.size.height = guideSize.width/2
        carousel.heightAnchor.constraint(equalToConstant: carousel.frame.size.height).isActive = true

        featuredView.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isActive = true
        featuredView.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
        featuredView.topAnchor.constraint(equalTo: carousel.bottomAnchor).isActive = true
        featuredView.bottomAnchor.constraint(equalTo: guide.bottomAnchor).isActive = true
    }
}

1 Ответ

0 голосов
/ 10 декабря 2018

Эй, что вы говорите, что вы не можете прокрутить вверх и просмотреть элементы представления всей коллекции?

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

https://github.com/dwivediashish00/socialApp

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