56 votes

Comment définir l'arrière-plan de UITableView (le style de tableau est "Groupé") pour utiliser une image?

Comment définir l'arrière-plan de UITableView (le style de tableau est "Groupé") pour utiliser une image?

155voto

Sam Soffes Points 8034

Dans les versions plus récentes du SDK, vous devez définir tableView.backgroundView si vous voulez que ce soit transparent, essayez quelque chose comme ceci:

 tableView.backgroundColor = [UIColor clearColor];
tableView.opaque = NO;
tableView.backgroundView = nil;
 

18voto

leviathan Points 5207

Nous avons besoin de faire quelque chose sur ce fond uni. Nous allons utiliser une image au format PNG et de l'afficher derrière la UITableView.

  1. Préparer une image PNG. Il doit être soit 320x460 (si vous avez la barre d'état visible dans votre application) ou 320x480 (si vous le cacher).
  2. Faites-la glisser dans XCode dans le dossier de Ressources et d'ajouter à votre projet
  3. Charge de la PLUME fichier contenant votre UITableView dans Interface Builder
  4. Ouvrez la bibliothèque (Outils> Bibliothèque), passez à l'onglet support, puis faites glisser l'image pour l'Afficher, de créer un nouveau UIImageView.
  5. Utilisation de l'inspecteur, de déplacer et de redimensionner l'image, donc c'est à X=0, Y=0, Width=320, Height=480
  6. Mettre le UIImageView derrière la UITableView (Mise en page > Envoyer vers l'Arrière)
  7. Enregistrer, à Construire et à Aller!

Malheureusement, vous ne serez pas en mesure de voir votre arrière-plan. La UITableView de fond de nous bloque de voir le UIImageView. Il y a trois changements que vous devez faire:

  1. Dans les Attributs de l'Inspecteur, assurez-vous que la UITableView "opaque" case n'est pas cochée!
  2. Définir la UITableView la couleur d'arrière-plan transparent:

    tableView.backgroundColor = [UIColor clearColor];

J'espère que cette aide et résoudre votre problème. Il a travaillé pour moi et je n'ai pas encore trouver un moyen plus élégant pour afficher une image de fond pour un UITableView.

L'avantage de ma solution, en comparaison avec une image de fond directement sur la UITableView, c'est que vous pouvez mettre en retrait de la table de contenu. J'ai souvent voulu le faire juste vous montrer deux ou trois cellules de tableau au bas de l'écran.

12voto

Lounges Points 3745
[tableView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"whatever.png"]]];

9voto

Jasmine Points 183

tableView.backgroundView = nil; est assez. Pas besoin de définir la couleur de fond comme couleur claire.

2voto

pix0r Points 17854

Une solution serait de rendre la vue de table transparente (définissez l'arrière-plan de la vue sur une opacité de 0%) et de placer un UIImageView derrière le UITableView. N'oubliez pas que les tableaux transparents et les cellules de tableau ne fonctionneront pas aussi bien que ceux opaques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X