2013-07-20 10 views
9

Mam widok tabeli osadzony w widoku głównym, jest to jedyny sposób, w jaki mogę używać tabel statycznych. Główny widok ma ustalony kolor tła, którego osadzony widok nie zaabsorbuje, i nie jest przezroczysty, czy jest jakiś sposób to zrobić?Widok tabeli w widoku, w jaki sposób można go uczynić przezroczystym

Wydaje się głupie zadeklarować kolor dwa razy na jednym widoku

+2

po prostu ustaw kolor tła UITablView na "Wyczyść kolor" –

Odpowiedz

6

Spróbuj kod:

self.view.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.35]; 
+3

Twoja tabelaViewCells może również wymagać, aby ich właściwość 'opaque' była ustawiona na" NO ", a ich opcja' backgrounColor' ustawiona na "[UIColor clearColor]" – verec

4

Oprócz ustawienia widoku tabeli na kolor tła do [UIColor clearColor], może być konieczne w celu wykonania niniejszej delegata metoda:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell.backgroundColor = [UIColor clearColor]; 
    cell.contentView.backgroundColor = [UIColor clearColor]; 
} 

miałem to zrobić w przeszłości, ponieważ komórki ustalony kolor tła po powrocie z cellForRowAtIndexPath .

+0

Dzięki temu bardzo przydatne dla mnie. – vijay

2

Można użyć właściwości setAlpha określić wartość pływaka w zakresie od 0,0 do 1,0, na podstawie tego co przejrzystość trzeba, na przykład:

[self.tableView setAlpha:0.5]; 
0

Albo można ustawić kolor tła na jasny kolor i alfa jednego

1

dla SWIFT:

override func viewDidLoad() { 

    super.viewDidLoad() 
    tableView.backgroundColor = .clearColor() 

} 

i

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath){ 

    cell.backgroundColor = tableView.backgroundColor 
    cell.contentView.backgroundColor = tableView.backgroundColor 

} 
Powiązane problemy