【发布时间】:2017-09-28 10:46:54
【问题描述】:
当我计算出它的父 scrollView 应该是什么时,我需要调整子集合视图的高度。高度计算会产生正确的值,但我无法让“孙子”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 重绘自身导致崩溃。
是否可以从顶层调整“孙子”集合视图?
谢谢
【问题讨论】:
标签: ios swift uiscrollview uicollectionview