2009-11-24 10 views
1

Tout d'abord, je tiens à souligner que je ne demande pas de code. Je demande juste le genre de choses que je devrais faire pour que cela fonctionne, car pour le moment je n'en ai absolument aucune idée. Voici ce que je veux faire:Parcourez les pages/photos avec UIImageViews (similaire à l'application de photos Facebook ou à l'écran d'accueil)

Semblable à la visualisation des photos de quelqu'un dans l'application Facebook, je voudrais afficher une image (UIImageView) sur l'écran. Lorsque l'utilisateur passe à gauche (hors de l'écran), la photo suivante dans l'album apparaît (je suppose que je pourrais utiliser une sorte de tableau d'images?). Effleurer à droite permet de passer à la photo précédente de l'album. Je suis sûr que je pourrais comprendre les images de chargement et de tableau, mais la pensée de déplacer une image vue de l'écran avec une animation de film et montrant la prochaine photo de la série est vraiment décourageante.

Si vous n'avez pas utilisé l'application Facebook, l'effet recherché est le même que le changement de page sur l'écran d'accueil de l'iPhone. Une fois que vous avez fait glisser la page jusqu'à présent, elle se positionne sur la page suivante. Toute aide grandement appréciée.

Répondre

1

Vous pouvez le faire très simplement (aussi longtemps que vous n'êtes pas implémentez zoom aussi) en utilisant UIScrollView avec sa pagingEnabled propriété est définie sur YES et UIImageViews comme subviews du UIScrollView pour afficher vos images, bien sûr.

Avec pagingEnabled == YES, UIScrollView alignera contentOffset à des multiples de la hauteur et de la largeur de ses limites.

http://developer.apple.com/IPhone/library/documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html http://developer.apple.com/IPhone/library/documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html#//apple_ref/occ/instp/UIScrollView/pagingEnabled

+0

Merci pour cette réponse rapide. Y a-t-il des implications de mémoire d'ajouter say 10 UIImageViews comme sous-vues? ou peuvent-ils être chargés et déchargés au besoin? :) –

+0

Aha. On dirait que je peux construire chaque page dynamiquement à la volée - parfait! Quelques exemples de code utiles ici: http://code.davidjanes.com/blog/2009/09/26/uipagecontrol-uiscrollview/ –

1

Facebook a publié la bibliothèque Three20, qui contient également leur composante album photo. Jetez un coup d'oeil et peut-être vous pouvez économiser beaucoup de temps en ne réinventant pas la roue ... il contient également de nombreux autres utilitaires utiles que je ne veux plus manquer lors du développement de l'iPhone.

+0

Merci, je vais jeter un oeil :) –

+0

Méfiez-vous de Three20. J'ai lu de nombreuses personnes ayant de gros problèmes au moment de la soumission en magasin, car elles contiennent des appels d'API privés. C'est une bonne ressource tant que vous gardez cela à l'esprit. –

+0

Joe Hewitt a quitté Facebook et personne n'est officiellement responsable du projet. Nous espérons que cette période sera bientôt terminée. Si vous jetez un oeil sur les forums, vous trouverez de nombreux conseils sur la façon de désactiver les appels API privés. –

2

Apple a diffusé les vidéos de la session 2010 de la WWDC à tous les membres du programme des développeurs iphone. L'un des sujets abordés est comment ils ont créé l'application photos !!! Ils construisent une application très similaire étape par étape et ont rendu tout le code disponible gratuitement.

Il n'utilise pas d'API privée non plus. Voici un lien vers l'exemple de téléchargement de code. Vous devrez probablement vous connecter pour avoir accès.

http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?code=y&source=x&bundleID=20645

Et, voici un lien vers la page iTunes WWDC:

http://insideapple.apple.com/redir/cbx-cgi.do?v=2&la=en&lc=&a=kGSol9sgPHP%2BtlWtLp%2BEP%2FnxnZarjWJglPBZRHd3oDbACudP51JNGS8KlsFgxZto9X%2BTsnqSbeUSWX0doe%2Fzv%2FN5XV55%2FomsyfRgFBysOnIVggO%2Fn2p%2BiweDK%2F%2FmsIXj

+0

Savez-vous quel numéro de session c'est? Votre lien ne fonctionne pas pour moi. Merci. – GorillaPatch