在Stackview内部渲染集合视图单元格

时间:2019-09-12 10:37:16

标签: ios swift layout uicollectionview uistackview

我想知道将UICollectionView嵌入到UIStackView中的UIScrollView中时的表现。只要我们必须将collectionView's容器视图intrinsicContentSize设置为collectionView.contentSize.height,它就可能会同时加载所有数据,因此我们将添加图像获取,阴影等将使其不是超级性能。我们可以以某种方式避免它吗?当然,最好离开UIStackView,因为collectionView不是其中唯一的嵌入视图:)

主视图

final class MainView: UIView {
    lazy var scrollView: UIScrollView = {
        let scrollView = UIScrollView()
        scrollView.isDirectionalLockEnabled = true
        return scrollView
    }()

    lazy var stackView: UIStackView = {
        let stackView = UIStackView()
        stackView.axis = .vertical
        stackView.distribution = .fill
        return stackView
    }()

   /// Adding subviews and setting constraints...
}

这是我们嵌入collectionView的地方

final class ContainerView: UIView {

     var collectionView: UICollectionView = {
         let collectionView = UICollectionView()
         return collectionView
     }()

     override var intrinsicContentSize: CGSize {
            return CGSize(width: header.frame.width,
                          height: collectionView.frame.minY + 
    collectionView.contentSize.height)
    }

    /// Adding subviews and setting constraints...

}

此视图嵌入在MainViewController stackview

0 个答案:

没有答案