2014-11-06 22 views
7

Przetestowałem to na iOS 7.1 i działa dobrze. Ustawia kolor tła, aby wyczyścić na moim tableview za pomocą wierszy poniżej.iOS 8.1 UITableview Kolor tła zawsze biały

self.tableview = [[UITableView alloc]initWithFrame:self.bounds style:UITableViewStylePlain]; 
    self.tableview.delegate = self; 
    self.tableview.dataSource = self; 
    self.tableview.backgroundView = nil; 
    self.tableview.backgroundColor = [UIColor clearColor]; 
    self.tableview.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero]; 
    [self addSubview:self.tableview]; 

Ustawiam również tableFooterView w nowym widoku, aby ukryć wszelkie niewykorzystane komórki za pomocą.

self.tableview.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero]; 

Działa to pięknie na iOS 7, ale w iOS 8 pozostało mi białe tło dla przestrzeni pod widokiem stołu. Podgląd widoku tabeli znajduje się również w jasnym tle. Jakieś pomysły?

zdjęć dodanych poniżej - miałem przesłonić nazwy klienta

Praca na iOS 7 Working on iOS 7

Nie działa na iOS 8.1 enter image description here

+0

Jakiego koloru chcesz mieć? – Fogmeister

+0

Przezroczysty/wyraźny –

+0

Ale co to znaczy? Nie zobaczysz wewnętrznego działania iPhone'a bez względu na to, jak jest on przejrzysty. Gdzie jest biały ... co powinno tam być? – Fogmeister

Odpowiedz

3

dokument Apple mówi

. .. W systemie iOS 7 komórki mają domyślnie białe tło; we wcześniejszych wersjach systemu iOS komórki dziedziczą kolor tła otaczającego widoku tabeli. Jeśli chcesz zmienić kolor tła komórki, zrób to w tableView: willDisplayCell: forRowAtIndexPath: metoda delegata widoku tabeli.

Konieczne może być użycie metody delegowania UITableView WillDisplayCell, aby uzyskać przezroczyste tło dla widoku tabeli.

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cellforRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
     [cell setBackgroundColor:[UIColor clearColor]]; 
} 
+0

Święta Matka Boża! iOS 8 doprowadzi mnie do szału. To rozwiązanie MUSI być używane, nawet z kolorem komórki tabeli zdefiniowanym za pomocą Storyboard. Wkładam "czarny" WSZĘDZIE (tabela, komórka, widok zawartości, BG, FG, odcień ...) i wciąż mam białe tło (głównie na wskaźnikach ujawnienia). Dodaję te linie do mojego UITableViewController i działało. Poważnie ... Apple umiera po śmierci Jobsa. –

0

Dla mnie, to co pracował (używam zwyczaj UITableViewCell we własnym XIB):

  • ustawić komórki Treści tła na jasny kolor w IB.
  • Ustaw tło komórki, aby wyczyścić kolor w IB.
  • Ustawić kolor tła widoku tabeli na UIColor.clearColor()programowo w viewDidLoad. Robienie tego w Storyboard nie działa.
Powiązane problemy