尝试将NSLayoutDimension转换为CGFloat时出错

我当前正在尝试将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

设定的宽度和高度是给的误差:

不能调用初始化为类型“CGFloat的”类型的自变量列表“(NSLayoutDimension)”。

我已经尝试设置为一个浮动,然后将浮动转换为cgfloat,但那也没有奏效。

有谁知道如何将NSLayoutDimension转换为CGFloat?

任何帮助非常感谢

谢谢。

回答:

,如果你希望你的集合视图的宽度和高度,尝试下面的代码:

let width = CGFloat(myCollectionView.frame.width) 

let height = CGFloat(myCollectionView.frame.height)

以上是 尝试将NSLayoutDimension转换为CGFloat时出错 的全部内容, 来源链接: utcz.com/qa/264884.html

回到顶部