30 votes

Comment créer une galerie sur iOS

Je commence à développer une application simple pour iOS, et cette application est une simple galerie de quelques photos (prises à partir d'un site web). Le premier problème que j'ai rencontré est de savoir comment créer de l'affichage de la galerie.

La vue doit être quelque chose comme ceci (ou de l'Application de Photos): Sample View

mais vue de cette façon est problématique, d'abord parce qu'il utilise fixe dimension, et je pense que c'est un peu difficile à mettre en oeuvre (pour moi).

L'autre moyen est d'utiliser une cellule personnalisé au sein d'une tableview, comme ceci: custom cell

mais il est encore à l'aide de dimension fixe.

Quelle est la meilleure façon de créer une galerie, sans l'aide d'une tierce partie lib (comme Three20)?

Merci pour toute réponse :)

PS. Je pense que l'utilisation de dimension fixe est mauvais à cause de la nouvelle iphone 4 (avec une résolution différente), suis-je droit?

36voto

keno Points 1682

Vous devriez vérifier AQGridView qui fait exactement ce que vous essayez d'atteindre. Même si vous voulez écrire votre propre code personnalisé, jetez un coup d'œil sur le source AQGridView, car vous aurez plus que probablement besoin d'utiliser un UIScrollView comme base.

8voto

chuckSaldana Points 556

Dans le cas où vous souhaitez utiliser un tiers des classes, les prochains tutoriels peuvent être mélangés, ils ont travaillé pour moi. Voici un bon affichage de la grille:
personnalisation de l'image picker comme uiimagepicker

Et si vous voulez vous charger de manière asynchrone, utilisez ceci: l'image de chargement paresseux

Les deux tutos sont très bien décrites et le code source.

6voto

nyaray Points 467

La différence de résolution ne devrait pas être un problème depuis iOS, si je me souviens bien, les échelles d'INTERFACE utilisateur, les composants et les images à la bonne résolution si il détecte qu'il dispose d'un écran retina. D'un côté; n'oubliez pas de commencer à faire des hi/lo-res versions de votre charte graphique si vous avez l'intention de soutenir les deux tailles d'écran sans dégradation de qualité.

Aussi longtemps que vous le design de choses en termes de points, au lieu de pixels (ce qui est la façon dont c'est fait dans XCode 4), iOS sera en mesure de gérer de mise à l'échelle, de manière transparente. Sur un petit écran, un point sera un pixel, alors que deux pixels sur un écran retina. Cela permet de rendre les choses avec un bac de regarder sur les écrans de la rétine. Source

Je sais que cette question est ancienne, mais je ne vois pas de traiter de la question de des largeurs fixes, donc je pensais que je contribue, pour une fois.

2voto

Dan Ray Points 14852

Si vous ne souhaitez pas utiliser une bibliothèque tierce, vous devez le faire dans les lignes UITableView. En raison de la façon dont UITableView met en cache les cellules, il est relativement léger en mémoire. Certainement plus qu’un très grand UIView dans un UIScrollView. Je l'ai fait dans les deux sens et j'étais beaucoup plus heureux avec UITableView.

Cela dit, la prochaine fois que je dois faire ça? Je prévois d'utiliser AQGridView.

2voto

Rob Points 3700

Euh, depuis ios6 est sorti, la bonne façon de le faire est avec des Vues de la Collection:

Apple Docs sur CollectionViews

Aussi, voir les deux de la WWDC 2012 sessions sur eux:

Introduction aux Vues de la Collection
Avancée Des Vues De Collection

Malheureusement, Apple ne comprend pas une simple galerie ou coverflow mise en page, mais il est assez facile de faire un.

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