2016-11-07 2 views
0

UIView에 CollectionView가 있습니다. CollectionViewCell의 화면 너비를 50 %로 조정하는 방법은 무엇입니까? CollectionView에서 2 개의 열을 만들고 싶습니다.UIView에서 CollectionViewCell 크기 조정

class Class_MyUIViewClass: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate 
{ 

또한 CollectionViewCell에 이미지와 레이블이 있습니다.

답변

0

당신은 UICollectionViewDelegateFlowLayout을 준수,

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 
    let screenWidth = UIScreen.main.fixedCoordinateSpace.bounds.width 
    return CGSize(width: screenWidth/2, height: yourHeight) 
} 

은 또한 당신이 원하는 셀 높이를 알고 가정 UICollectionViewDelegateFlowLayout

+0

myfile.swift : 49 : 10 : 인스턴스 방법 'willDisplaySupplementaryView : forElementKind : collectionView (_에서 :)' 'collectionView (collectionView : 레이아웃 sizeForItemAtIndexPath :'거의 선택의 요구 사항과 일치하는 프로토콜 '을 UICollectionViewDelegate' –

+0

'CGSizeMake 'Swift에서 사용할 수 없습니다 –

+0

업데이트 된 답변보기 – Rajat

0

에 확인 그것의 셀 크기를 관리 할 수 ​​UICollectionView의 sizeForItemAt 방법을 사용할 수 있습니다 :

class Class_MyUIViewClass: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { 

을 구현하고 sizeForItemAtIndexPath을 구현하십시오.

,
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    let desirednumberOfCollumns: CGFloat = 2 
    let width = collectionView.frame.width/desirednumberOfCollumns 
    return CGSize(width, yourHeight) 
} 
+0

Swift에서'CGSizeMake '를 사용할 수 없습니다. –

+0

@ Vladimir Zhelnov : true, thanks! – shallowThought

관련 문제