It's the same question with Simon's
但我不能在那里发表评论,因为有50个声誉而且我有完全相同的问题。很抱歉重新发布,但没有解决方案。任何帮助表示赞赏。谢谢!
问题是......
我有一个
-UIScrollView
---标签
---标签
--- UICollectionView
我已禁用UICollectionViews滚动功能,因此我只想使用Scrollview滚动。我的问题是我不知道如何计算UICollectionViews的高度,所以我可以更新我的UIScrollView。如果它是UICollectionView中的许多元素,它就会被剪裁。
我创建了这个小HTML示例,以显示我正在寻找的内容http://jsfiddle.net/hDwPH/
Dummy
答案 0 :(得分:1)
我建议只让一个collectionView而不是创建这个视图层次结构,在另一个scrollview中添加一个scrollview不是一个好习惯。
在实施cellForItemAtIndexPath时,您可以查看当前indexPath.item
的内容,基于它 - 如果是0或1-,您可以返回不同的自定义包含标签的单元格。
例如:
Swift 2
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
// check depends on how many cells they should be to display the labels, i.e: one label for each cell or all of the labels in one cell:
if indexPath.item == 0 {
// retrun the cell with the label(s)
}
// return the regular cell...
}
答案 1 :(得分:0)
最好将单个CollectionView与不同类型的单元格一起使用。
但是如果你需要按照你的描述使用它,你应该更改UIScrollView的contentSize。和collectionView的框架(如果使用自动布局,则为高度约束)。但这是一种肮脏的方式
collectionView.reloadData()
collectionView.layoutIfNeeded()
scrollview.contentSize.height = labelsHeight + collectionView.contentSize.height
collectionView.frame.size.height = collectionView.contentSize.height