2016-09-07 4 views
1

いいえ。私のCollectionviewは正常に動作します。しかし、レイアウトを少し変更したい。 私は配列番号が異なる配列を持っていますので、array.count = 5、私は5つの項目が必要です。 これを私のCollectionviewに表示する方法がわかりません。行の異なる項目を持つCollectionview

ありがとうございました。

更新日:

すべての行は、たとえば6です。

しかし、私は数字の配列を扱う方法を知らない! UICollectionViewDelegateFlowLayoutのプロトコルの一部である

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 

     let numberOfCellInRow : Int = 6 
     let padding : Int = 1 
     let collectionCellWidth : CGFloat = (self.view.frame.size.width/CGFloat(numberOfCellInRow)) - CGFloat(padding) 
     return CGSize(width: collectionCellWidth, height: 200) 



} 

答えて

1

実装sizeForItemAtIndexPathは、(すなわち、実行時に)動的UICollectionViewCellの寸法を設定する方法です。

sizeForItemAtIndexPathでは、各UICollectionViewCellをどれだけ大きくしたいのかというCGSizeオブジェクトを作成し、単純にそのオブジェクトを関数の戻り値として使用します。あなたの例では、CGSizeオブジェクトの幅は、メインビューの幅を5で割ったものにほぼなります。私は、セルの間に余白を入れる余地と、おそらくゼロ以外のsectionInsets UICollectionView

セル間のパディングを設定するには、UICollectionViewオブジェクトのストーリーボードの属性インスペクタペインに移動し、属性ペインを「測定モード」にします。 "Min Spacing"、 "For Cells"と "For Lines"の両方が表示されます。 [For Cells]フィールドは、セル間の水平方向の間隔を指定するためのフィールドです。 [For Lines]フィールドには、セル間の垂直方向の間隔を指定できます。

関連する問題