尝试将NSlayOutDimension转换为CGFLOAT时出错



我当前正在尝试将nslayoutdimension转换为cgfloat,以便我可以获取收集视图以符合某个布局。

    let spacing: CGFloat = 3
    let width = CGFloat(myCollectionView.widthAnchor)
    let height = CGFloat(myCollectionView.heightAnchor)

    let itemWidth = width / 3 - spacing
    let itemHeight = height / 3 - spacing
    var itemSize: CGFloat = 0
    if itemWidth >= itemHeight {
        itemSize = itemWidth
    }
    else if itemHeight > itemWidth {
        itemSize = itemHeight
    }
    let layout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsetsMake(20, 0, 10, 0)
    layout.itemSize = CGSize(width: itemWidth, height: itemHeight)
    layout.minimumInteritemSpacing = spacing
    layout.minimumLineSpacing = spacing
    myCollectionView.collectionViewLayout = layout

设置宽度和高度给出了以下错误:

无法使用类型的参数列表'(nslayoutdimension)'。

我尝试设置为浮点,然后将浮子转换为cgfloat,但这也没有起作用。

有人知道如何将nslayoutdimension转换为cgfloat?

任何帮助都非常感谢

谢谢。

如果要宽度和收集的高度,请尝试以下代码:

let width = CGFloat(myCollectionView.frame.width)
let height = CGFloat(myCollectionView.frame.height)

最新更新