2016-07-22 27 views
6

Staram się unikać koloru białego tła na górze mojej komórki widoku kolekcji, jeśli użytkownik przewija w dół (zwykle po odbiciu). Tak więc na górze mojej komórki widoczny jest tylko kolor tła kolekcji. Ale jak pokazano na rysunku, potrzebuję 2 różnych kolorów. W pierwszej sekcji tło powinno być niebieskie, tak aby przerwa nie była biała, ale niebieska, a dla pozostałych sekcji powinna pozostać biała. Więc wszystko, czego chcę, to to, że przerwa w bieli stanie się niebieska, bez zmiany całego koloru tła mojego widoku koloryzacji.UICollectionView 2 Różne kolory tła

enter image description here

+0

nie wiedzą o swoim widoku hierarchii, ale mogłyby być może spróbuj ustawić kolor niebieski na tej 'self.view.backgroundColor' lub niniejszego' self.collectionView.superview.backgroundColor'. – AnthoPak

+0

To nie działa, ponieważ widok kolekcji zajmuje cały ekran. Ma biały kolor tła, więc nic nie będzie widoczne z widoku. – Tobias

+0

Dlaczego nie ustawić niebieskiego koloru tła na 'collectionView', a następnie zmienić sekcje indywidualnie? – AnthoPak

Odpowiedz

5

można osiągnąć pożądany efekt, dodając widok na górę Twój UICollectionView lub UITableView - będzie przewijany wraz z zawartością i pojawi się jako element tła.

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

To działa idealnie! Dziękuję bardzo! – Tobias

+0

@maxkonovalov jak zrobiłbyś to dla dolnej części? – skyguy

+0

@skyguy nigdy nie próbowałem tego, ale myślę, że to samo podejście powinno być w porządku, po prostu obliczyć ramkę odpowiednio na podstawie 'contentSize' – maxkonovalov

Powiązane problemy