10
votes

Comment définir une image d'arrière-plan pour une vue de table groupée?

J'ai vu des applications iPhone qui utilisent une image personnalisée comme arrière-plan d'une vision utile groupée, au lieu des lignes grises standard.

Comment cela est-il atteint?


0 commentaires

6 Réponses :


3
votes

Dans un autre projet (développé à l'aide de 2.2.1), je l'ai fait en définissant mon UitailView ' Spoids opacité à 0%, puis counter simplement un uiImageView derrière elle Utilisation de l'interface Builder. Cela m'a permis d'avoir un fond fixe quel que soit l'état de la table. Vous pouvez également définir l'arrière-plan du utableview pour être une image à la place, mais l'arrière-plan défile avec la table. (Je n'ai pas le code pratique pour le moment, mais j'ai eu la pointe un bout sur les forums du développeur Apple).

Notez que cela peut causer des problèmes de performance. Apple décourage en utilisant la transparence dans la mesure du possible parce que les GPU sur les modèles Pre-3GS ne sont pas particulièrement costaux.


0 commentaires

3
votes

Vous pouvez utiliser le + [uicolor colorwithpatternimage: (uiImage)] méthode comme: xxx


0 commentaires

2
votes

Le problème avec ColorWithPatternimage: est-ce que vous devez utiliser des images "à motifs", sinon votre image sera carrelée au hasard

Ce lien a une solution simple, si vous voulez que tout votre point de vue ait le même arrière-plan

http://howtomakeiphoneappps.com/2009/03/how-to-add-a-nice-background-Image-a-Your-grouped-table-view/


0 commentaires

2
votes
self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"SortByCategory_320x480.png"]];

self.tableView.separatorColor = [UIColor clearColor];

self.tableView.backgroundColor = [UIColor clearColor];
Hope this will help. It won't display hideous translucent background behind the cells especially in case of Grouped UITableView.

1 commentaires

Accès à ParentviewController.View est une idée terrible - vous ne savez pas quel type de soutien il a, et c'est une très mauvaise violation de l'encapsulation. Même si cela fonctionne maintenant, la prochaine mise à jour IOS peut totalement casser votre code. Ne fais pas ça.



23
votes

Voici ce qui a fonctionné pour moi (et assez simple une fois que je l'ai compris;)

1) ajoutez une vue dans votre déléguée de l'application et faites-en une sous-vision de la fenêtre: P>

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]];


2 commentaires

Dans le délégué de l'application, vous pouvez également faire plus facilement: auto.window.backgroundColor = [Uicolor Colorwithpatternimage: [UiImage Imagenamed: @ "bg.png"]];


Je suis d'accord avec Gil Margolin ici ... il était plus facile de définir l'arrière-plan de la fenêtre comme une image. Avec une mise en garde - vous devez charger manuellement la bonne image pour Retina / iPhone5, ce qui compliquait un peu les choses.



9
votes

Essayez ceci xxx


1 commentaires

Vous pouvez également ajouter une vue d'image derrière la vue de table au lieu de définir une couleur d'arrière-plan, ce qui vous permettra d'éviter d'utiliser une image de motif.