2016-05-12 4 views
1

UICollectionView

のセルをレンダリングするときセクション挿入図は、私は二つのセクションを含むUICollectionViewを持って尊敬ありません。 私はストーリーボードからleft = 5とright = 5のセクションインセットを与えました。 両方のセクションのセルに同じ.xibを使用しています。 私はこの問題は、このあるsizeForItemAtIndexPath

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

     let itemWidth = self.collectionViewTrending.bounds.size.width - 10 
     if(indexPath.section == 0) { 

       return CGSizeMake(itemWidth , 200) 

     } else { 

      let product = self.products.objectAtIndex(indexPath.row) as! Product 
      let imageHeight = CGFloat(product.imageHeight) 
      return CGSizeMake(itemWidth, imageHeight * 0.81) 
     } 



    } 

のセルのサイズを入力しています:第0について

、セルが中央に配置され、セクションインセットが尊重されています。

セクション1では、セクションのインセットは尊重されますが、セクション1のすべてのセルの右端がコレクションビューの右端に接触します。

なぜこのようなことが起こり、どうすれば解決できますか?

答えて

0

セクションインセットは、全体としてのセクションに適用される:

左の挿入図は、セクションと、そのセクションの最初のセルの左端の左端との間の空間に影響を与えます。

右インセットは、セクション内の最後のセルの右端とそのセクションの右端との間のスペースに影響します。あなたはおそらく欲しいセクションで1

を唯一つのセクション0のセル、および複数のセルを持っているので、つまり

、あなたが見ている行動は、おそらくあるの外観を作成するために、セル間のスペースです各セルの周りの境界。

これを行うには、ストーリーボードのコレクションビューの最小間隔/セル属性を設定します。または、これをcollectionView minimumInteritemSpacingForSectionAtIndexデリゲートメソッドで動的に設定します。

関連する問題