2017-08-28 20 views
0

私は水平なUICollectionViewを持っていて、1列に1つのアイテムを1行にまとめたいと考えています。これらのアイテムはさまざまなサイズです。これを行うために、私はこのUICollectionViewFlowLayoutを使用:水平コレクションビューが機能しない

let layout = UICollectionViewFlowLayout() 
layout.sectionInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 50) 
layout.scrollDirection = .horizontal 
layout.minimumInteritemSpacing = CGFloat.greatestFiniteMagnitude 

その後、私はそのレイアウトで私のUICollectionViewを初期化します。

アイテムのサイズは正確ですが、同じカラムに入れられることがありますが、これは悪いことです。 this answerによると、私の最後の行は問題を解決するはずですが、それはしません。最後の行は、アイテムを互いに非常に遠く離れさせるだけです。私もCGFloat.greatestFiniteMagnitudeの代わりにcollectionView.heightを使ってテストしましたが、私は同じ悪い結果を得ました。

どうすれば修正できますか?これはSwift 4のバグでしょうか? - これはSwiftにあります。

答えて

0

これは問題を修正するようでした。なぜこれがうまくいったのか分かりませんが、それはどうでしたか?

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { 
    return view.frame.height 
} 
関連する問題