【问题标题】:Error when trying to convert NSLayoutDimension to CGFloat尝试将 NSLayoutDimension 转换为 CGFloat 时出错
【发布时间】:2017-12-27 11:56:45
【问题描述】:

我目前正在尝试将 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”类型的初始化程序。

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

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

非常感谢任何帮助

谢谢。

【问题讨论】:

  • 你想用自动布局锚点做什么?

标签: ios swift xcode uicollectionview


【解决方案1】:

如果您想要收藏视图的宽度和高度,请尝试以下代码:

let width = CGFloat(myCollectionView.frame.width)

let height = CGFloat(myCollectionView.frame.height)

【讨论】:

    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2020-02-17
    • 2016-04-05
    相关资源
    最近更新 更多