2010-12-03 15 views

Répondre

4

Indépendamment du type de table, elle remplira l'espace qui lui est alloué dans Interface Builder (ou quel que soit le cadre affecté, etc. si vous le créez par programme). Ce que vous pouvez faire est de définir l'arrière-plan comme transparent (en utilisant l'option "Effacer les couleurs" comme couleur d'arrière-plan dans l'Interface Builder) et d'utiliser un fond de cellule personnalisé, ce que fait l'horloge mondiale. Pour ce faire, implémentez simplement l'arrière-plan dans la cellule de tableau renvoyée dans la méthode tableView: cellForRowAtIndexPath: en créant une vue et en utilisant les méthodes setBackgroundView et setSelectedBackgroundView sur UITableViewCell de manière appropriée.

+0

Donc, nous ne pouvions pas avoir les couleurs de fond? Le contrôle de table que nous construisons supporte beaucoup d'options différentes – Burf2000

+0

Voir la mise à jour. :-) –

+0

J'ai fait de même dans le code, avec ceci sur UITableView: 'backgroundColor = [UIColor colorWithWhite: 1 alpha: 0]; backgroundView = nil; 'et un arrière-plan sur les cellules en utilisant les instructions ci-dessus. –

5

Pour obtenir ce effet Horloge mondiale J'ai mis une image de fond pour l'arrière-plan UITableView et mettre la couleur d'arrière-plan de table pour clearColor via:

UIImage *image = [UIImage imageNamed:@"background.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
[imageView setFrame:self.tableView.bounds]; 
[self.tableView setBackgroundView:imageView]; 
[imageView release]; 
[self.tableView setBackgroundColor:[UIColor clearColor]]; 

Pour se débarrasser des séparateurs I » ai changé le style de séparation à aucun via

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

pour UITableViewCell je définir une couleur d'arrière-plan (son e: blanc):

UIView *cellBackgroundView = [[UIView alloc] init]; 
[cellBackgroundView setBackgroundColor:[UIColor whiteColor]]; 
[cell setBackgroundView:cellBackgroundView]; 
[cellBackgroundView release]; 
2

This answer par Andy est la solution la plus simple à ce problème. Il indique à la vue de la table qu'il y a un pied de page (qui est de taille nulle) et qui empêche les lignes de division (qui donnent l'apparence de lignes vides) d'être dessinées.