Ios 具有固定的collectionView单元格宽度和动态高度

Ios 具有固定的collectionView单元格宽度和动态高度,ios,swift,Ios,Swift,我正在移动应用程序上重建用户界面。我已按CollectionView更改了我的tableView(因为我有两列单元格) 我已经完成了在手机上设置动态高度的工作,而且工作非常完美,正如你所看到的(iOS左侧和安卓右侧),我正在尝试用iOS实现安卓用户界面 目前,我要做的是: 我试图设置固定宽度,但这是自动形状的内容 我认为这可能是一件小事,但我已经很久没有在iOS上工作了,所以我正在寻找解释来实现固定宽度大小 控制器仅包含以下内容: @IBOutlet weak var collectionV

我正在移动应用程序上重建用户界面。我已按CollectionView更改了我的tableView(因为我有两列单元格)

我已经完成了在手机上设置动态高度的工作,而且工作非常完美,正如你所看到的(iOS左侧和安卓右侧),我正在尝试用iOS实现安卓用户界面

目前,我要做的是:

我试图设置固定宽度,但这是自动形状的内容

我认为这可能是一件小事,但我已经很久没有在iOS上工作了,所以我正在寻找解释来实现固定宽度大小

控制器仅包含以下内容:

@IBOutlet weak var collectionViewFlowLayout: UICollectionViewFlowLayout!{
    didSet {

        self.collectionViewFlowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
    }
}
我还没有完成教程中的“最大宽度”部分。 单元格内的所有标签都具有固定的左右约束、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)

}

您需要执行类
UICollectionViewLayout
的自定义布局,并将其设置为集合视图。有很多类似Pinterest的集合视图教程。您可以检查

这是解决方案->检查此答案这是否回答了您的问题?谢谢,就是这样,我以前没有找到这条消息,但这正是我需要的,谢谢你,伙计:看起来宽度不是固定的,我有一行或两列,每个单元格都有不同的宽度