2017-12-27 14 views
0

NSLayoutDimensionをCGFloatに変換しようとしています。そのため、特定のレイアウトに合わせてコレクションビューを取得できます。タイプの引数リストを持つタイプ「CGFloat」「(NSLayoutDimension)」の初期化子を呼び出すことはできません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 

はのエラーを与えています。

私はfloatとして設定してから、floatをcgfloatに変換しようとしましたが、どちらもうまくいきませんでした。

NSLayoutDimensionをCGFloatに変換する方法を知っている人はいますか?

任意の助けも

感謝を高く評価しています。

+0

あなたが自動レイアウトアンカーをどうしようとしている何を? – user28434

答えて

3

あなたのコレクションビューの幅と高さは、以下のコードてみたい場合:

let width = CGFloat(myCollectionView.frame.width) 

let height = CGFloat(myCollectionView.frame.height) 
関連する問題