2016-12-21 18 views
0

Imはデモアプリケーション(私のファルカンの研修)を構築しようとしてレイアウトしUICollectionビューのカスタム細胞は

デモアプリケーションは、画像ビュー を有する細胞とラベル付きビューを持つ垂直コレクションビュー画面を持っていることを

レイアウトはそのままです - 各セル150幅と縦に行1列あたり415高さ2セル

イメージビュー内のイメージに関して、それぞれのセルを異なるセル高さにしたいと思います。各セルはその上のセルに張り付いています

私はそれを行うにしようとしたとき

私は比例し、セルのサイズを変更するために管理しますが、私は

とにかく、ここで私の全体のコードだが、たくさん事前に、あなたたちは私が何を意味するか理解感謝を願って、セルYの位置を変更couldntの

import UIKit 

class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { 

var imagesArray = [#imageLiteral(resourceName: "Forest"),#imageLiteral(resourceName: "Tree") , #imageLiteral(resourceName: "hinna"), #imageLiteral(resourceName: "beach1"),#imageLiteral(resourceName: "work"),#imageLiteral(resourceName: "ya"),#imageLiteral(resourceName: "bird"),#imageLiteral(resourceName: "rose"),#imageLiteral(resourceName: "Tree"),#imageLiteral(resourceName: "Labra") ] 

    var labelsArray = ["bahwaijf", "abwohd", "owauhduo", "awodh"] 

    @IBOutlet weak var collectionView: UICollectionView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.collectionView.delegate = self 
     self.collectionView.dataSource = self 

     } 

    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return imagesArray.count 
    } 

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionVCe 

     cell.cellImg.image = imagesArray[indexPath.row] 
     cell.descLabel.text = descArray[indexPath.row] 
     cell.itemLabel.text = labelsArray[indexPath.row] 

     return cell 
    } 

} 

答えて

0

セルのインセットを変更しようとしましたか?インターフェイスビルダまたはプログラムで行うことができます。

にInterface Builder:プログラム

enter image description here

let collectionViewLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout 

collectionViewLayout?.sectionInset = ... // some UIEdgeInset 

collectionViewLayout?.invalidateLayout() 
+0

私は私の問題は、結果イムなっている、ことをしようとしなかった各行で2個の細胞であるが、次の行は、最大スタックのdoesnt最初の行は、セルのサイズが小さい場合 私は4つの正方形、 2つの各行に、 最初の行は、高さが380 dは右側に415、 2番目の行が開始され、415は左側にあります。最初のセルが380で415でないため、2番目の行で380から開始する必要があります。 –