嵌套 UICollectionView 时设置 ScrollView 高度问题
Posted
技术标签:
【中文标题】嵌套 UICollectionView 时设置 ScrollView 高度问题【英文标题】:Setting ScrollView Height issue when UICollectionView is nested 【发布时间】: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 重绘自身导致崩溃。
是否可以从顶层调整“孙子”集合视图?
谢谢
【问题讨论】:
【参考方案1】:试试这个
@IBOutlet weak var scrollViewHeightConstarint: NSLayoutConstraint!
.....
override func viewDidLayoutSubviews()
self.scrollViewHeightConstarint.constant = "#WhatYouNeed#"
self.View.layoutIfNeeded()
【讨论】:
以上是关于嵌套 UICollectionView 时设置 ScrollView 高度问题的主要内容,如果未能解决你的问题,请参考以下文章
当嵌套的 UITextView 开始编辑时,UICollectionView 跳转/滚动
多层ScrollView嵌套UITableView、UICollectionView联动
UITableViewCell中嵌套UICollectionView