Swift-CompositionalLayout-计算高度

问题描述

我正在尝试使用FUNCTION findHighest(dataArray returns array) BEGIN FOR items in dataArray IF highest[1] is already set IF value > highest[1] highest[0] ← key highest[1] ← value END IF ELSE highest[0] ← key highest[1] ← value END IF END FOR RETURN highest END 创建电影海报的网格。 但是我在细胞高度上挣扎。 问题是当我设置时,我需要每行渲染3个海报。它会自动计算宽度,因此基本上,不同设备上的宽度会有所不同。

是否可以维持纵横比或访问单元格宽度以计算CompositionalLayout中的高度?

我也尝试使用.absolute(),但其行为与.estimated(100)相同

这是我现在的代码,单元格高度是硬编码的。

.absolute(100)

解决方法

将组的高度设置为fractionalWidth。下面的代码段将使该单元格的高度始终为屏幕高度的30%。您也可以编写自己的高度确定逻辑并将其包装在.absolute(customHeight)中。

let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),heightDimension: .fractionalWidth(0.3))