Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自动高度收集视图_Ios_Swift_Uicollectionview_Uistoryboard - Fatal编程技术网

Ios 自动高度收集视图

Ios 自动高度收集视图,ios,swift,uicollectionview,uistoryboard,Ios,Swift,Uicollectionview,Uistoryboard,我使用的是UICollectionView,其中我的单元格根据内容(文本大小)具有自动宽度,例如,第一行可能包含8个项目,第二行可能仅包含1个项目。这很好用 我想将UICollectionView的高度设置为显示所有可用项,但不显示更多项(不是底部的空白…)。如果使用自动布局,则必须设置高度或底部对齐约束 但这样,高度就固定了。有没有什么方法可以让我获得中的行数并动态计算高度 下面是我的故事板的样子: 您可以在设计时使用固定高度约束,然后在计算延迟高度值时在运行时对其进行更改。高度约束需要在代码

我使用的是UICollectionView,其中我的单元格根据内容(文本大小)具有自动宽度,例如,第一行可能包含8个项目,第二行可能仅包含1个项目。这很好用

我想将UICollectionView的高度设置为显示所有可用项,但不显示更多项(不是底部的空白…)。如果使用自动布局,则必须设置高度或底部对齐约束

但这样,高度就固定了。有没有什么方法可以让我获得中的行数并动态计算高度

下面是我的故事板的样子:


您可以在设计时使用固定高度约束,然后在计算延迟高度值时在运行时对其进行更改。高度约束需要在代码中引用,并且需要随计算的高度而更改

// 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
}
您应该查看下面演示如何操作的图像。 希望能有帮助

在这里检查我的答案