我正在重建移动应用程序上的UI。我已经通过CollectionView更改了tableView(因为有两列单元格)
我已经实现了在单元格上具有动态高度的功能,并且可以完美地工作,如您所见(左iOS和右Android),我正在尝试使用iOS实现android UI。
目前,我要实现以下目标: https://www.vadimbulavin.com/collection-view-cells-self-sizing/
我正在尝试设置固定宽度,但这会自动调整内容的形状。
我认为这可能是一件小事,但是我很长一段时间都无法在iOS上工作,所以我正在寻找解释以实现固定宽度大小
控制器仅包含以下内容:
@IBOutlet weak var collectionViewFlowLayout: UICollectionViewFlowLayout!{
didSet {
self.collectionViewFlowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
}
}
我还没有完成本教程的“最大宽度”部分。 单元格内的所有标签具有固定的左右约束,0行和自动换行符
谢谢!
祝你有美好的一天
本杰明
答案 0 :(得分:0)
好吧,正如我从屏幕截图中看到的那样,每个单元格上已经具有自动高度。
为CollectionViewCell设置固定宽度:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
var height:CGFloat = 0.0
if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
height = layout.itemSize.height
}
let screenSize = UIScreen.main
let wi = screenSize.bounds.size.width/2 // can calculate gap between two columns
return CGSize(width: wi, height: height)
}
答案 1 :(得分:0)
您需要对类UICollectionViewLayout
进行自定义布局,并将其设置为您的集合视图。有很多Pinterest,例如收藏夹视图教程。您可以检查this