嵌套UICollectionView时设置ScrollView高度问题

时间:2017-09-28 10:46:54

标签: ios swift uiscrollview uicollectionview

我需要调整子集合视图高度,当我计算它的父scrollView应该是什么时。高度计算产生正确的值,但我不能得到#34; Grand孩子" collectionView调整自己。

storyBoard中的所有约束都与scrollView容器视图高度相关联,因此当我调整它的值时,它们都应该排成行并自行调整。

流程是:

UIScrollView -> UICollectionView -> UICollectionView

我的计算是:

    var count: CGFloat = 370

    guard let currentLegs = active.legs![cell].feet else { return }

    for _ in currentLegs {
        count += 70
    }

    UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: {

        if count > 540 {
            self.scrollView.contentSize.height = count
        } else {
            self.scrollView.contentSize.height = 540
        }

    }, completion: nil)

    print(count)

如果它比我需要的小,上面会计算高度并默认为另一个值。

我已尝试设置scrollview.layoutIfneeded()& setNeedsLayout()但这会导致collectionView重绘自身,从而导致崩溃。

是否可以调整一个大孩子"从顶层收集视图?

由于

1 个答案:

答案 0 :(得分:1)

试试这个

 @IBOutlet weak var scrollViewHeightConstarint: NSLayoutConstraint!

.....

    override func viewDidLayoutSubviews()
{

    self.scrollViewHeightConstarint.constant = "#WhatYouNeed#"

    self.View.layoutIfNeeded()


}