2016-07-22 10 views
6

私がコレクションビューのセルの上に白い背景色を避けるために、ユーザーがスクロールすると(基本的にはバウンス時に)スクロールします。したがって、私のセルの上には、コレクションビューの背景色しか表示されません。しかし、写真に示されているように私は2種類の色が必要です。最初のセクションでは、バックグラウンドは青色でなければならないので、ギャップは白ではなく青で、他のセクションでは白のままです。だから私が望むのは、私の欲望の完全な背景色を変えずに、白の隙間が青くなることだけです。UICollectionView 2異なる背景色

enter image description here

+0

あなたのビュー階層を知ってはいけないが、あなたは多分この 'self.view.backgroundColor'またはこの' self.collectionView.superview.backgroundColor'に青い色を設定しようとすることができます。 – AnthoPak

+0

これは、collectionviewがスクリーン全体を占めるため動作しません。白い背景色をしているので、スーパービューからは何も見えません。 – Tobias

+0

'collectionView'に青色の背景色を設定してから、セクションを個別に変更しないのはなぜですか? – AnthoPak

答えて

5

あなたはトップあなたのUICollectionViewかのUITableViewにビューを追加することにより、所望の効果を達成することができます - それは、コンテンツと一緒にスクロールされ、背景の一部として表示されます。

override func viewDidLoad() { 
    super.viewDidLoad() 
    let topView = UIView(frame: CGRect(x: 0, y: -collectionView!.bounds.height, 
     width: collectionView!.bounds.width, height: collectionView!.bounds.height)) 
    topView.backgroundColor = .blackColor() 
    collectionView!.addSubview(topView) 
} 
+0

これは完全に機能します!どうもありがとうございます! – Tobias

+0

@maxkonovalovどのようにあなたは下部の領域のためにこれを行いますか? – skyguy

+0

@skyguyはこれを試したことはありませんでしたが、私は同じアプローチがうまくいくはずだと思います。ちょうど 'contentSize' – maxkonovalov