【问题标题】:Auto height UICollectionView自动高度 UICollectionView
【发布时间】:2016-06-04 20:03:07
【问题描述】:
我正在使用 UICollectionView,其中我的单元格具有基于内容(文本大小)的自动宽度,例如第一行可能包含 8 个项目,第二行可能只包含 1 个。这很好。
我想设置我的 UICollectionView 的高度以显示所有可用的项目,但不显示更多(不是底部的空白空间......)。如果我使用自动布局,则必须设置高度或底部对齐约束。
但是这样高度是固定的。有什么方法可以获取行数并动态计算高度?
这是我的故事板的样子:
【问题讨论】:
标签:
ios
swift
uicollectionview
uistoryboard
【解决方案1】:
您可以在设计时使用固定高度约束,而不是在计算延迟高度值时在运行时更改它。高度约束需要在代码中引用,并且需要根据您计算的高度进行更改。
// Height constraint of collection view
@IBOutlet weak var heightContstraint: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
setHeightOfCollectionView()
}
func setHeightOfCollectionView() {
// Calculate height of collection view depending on collection item count
let calculatedHeight:CGFloat = 500.0
heightContstraint.constant = calculatedHeight
}
您应该查看下面演示如何操作的图片。
希望它会有所帮助。