2016-08-29 13 views
1

私は3の列にイメージの2つのセクションを表示しようとしています。何らかの理由で、これらの奇妙なギャップがいくつかのセルの間にあります。私はストーリーボードでどこでも見てきましたが、すべてが正しいようです。また、列を2,4,5,6などに設定して実験しました。他の数字に設定された列では、奇妙な白い線はありません。これらの線は、5Sシミュレータと物理的なiPhone 5Sの両方に表示されます。UICollectionViewセル間の奇妙なギャップ(Swift)

Simulator Screenshot

override func viewDidLoad() { 
    super.viewDidLoad() 

    let width = CGRectGetWidth(collectionView!.frame)/3 
    let layout = collectionViewLayout as! UICollectionViewFlowLayout 
    layout.itemSize = CGSize(width: width, height: width) 
} 
+0

どのデバイスをテストしていますか?私はあなたのプロジェクトでシミュレータ上のギャップを経験していないよ –

+0

良い点。それは5Sでしか起こらないようです。私の5Sでシミュレータと私の物理的なデバイスで起こっている。 – kylesureline

+0

SOに関する質問は自己完結型でなければなりません。あなたのプロジェクト全体にリンクするだけでなく、ここに必要な部分を投稿してください。参照:[私のウェブサイトやプロジェクトの中の何かがうまくいかない。私はちょうどそれにリンクを貼り付けることができますか?](http://meta.stackoverflow.com/q/254428) –

答えて

0

このエラーは、widthのためにした浮動小数点演算によって引き起こされています。

iPhone 5Sの幅は320ピクセルです。 collectionViewが画面と同じ幅であると仮定すると、各セルの幅と高さは、繰り返しの小数である320/3 = 106.666666667になります。

これを修正するには、collectionViewの幅で3で割り切れる数値を使用することをお勧めします。したがって、318を使用すると、各セルの幅と高さは318/3 = 106になります。これはいい数字です!

一般規則:UICollectionViewの幅は、各行のセル数で割り切れる必要があります。

関連する問題