我需要调整子集合视图高度,当我计算它的父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重绘自身,从而导致崩溃。
是否可以调整一个大孩子"从顶层收集视图?
由于
答案 0 :(得分:1)
试试这个
@IBOutlet weak var scrollViewHeightConstarint: NSLayoutConstraint!
.....
override func viewDidLayoutSubviews()
{
self.scrollViewHeightConstarint.constant = "#WhatYouNeed#"
self.View.layoutIfNeeded()
}