2017-12-27 4 views
0

현재 NSLayoutDimension을 CGFloat로 변환하려고합니다. 따라서 특정 레이아웃을 따르도록 콜렉션 뷰를 가져올 수 있습니다. '(NSLayoutDimension)'NSLayoutDimension을 CGFloat로 변환하려고 할 때 오류가 발생했습니다.

유형의 인수 목록 유형 '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) 
관련 문제