Safari fait cela avec des pages Web à onglets. L'AppStore (3.0) le fait avec les images d'aperçu d'une application. Les vues défilent horizontalement et se verrouillent au centre de chaque vue. Une idée de comment accomplir cela?Comment créer une vue défilante horizontale pour l'iPhone?
Répondre
Vous devez:
- A ScrollView avec la pagination est activée, trois écrans larges.
- Pour avoir trois sous-vues dans votre scrollview - L (contenu gauche, à 0,0), C (contenu central, à 320,0), R (contenu à droite, à 640,0). C est le contenu que vous voulez montrer initialement. L est le contenu à afficher si l'utilisateur fait défiler vers la gauche.
- Définissez l'attribut contentoffset de la vue de défilement sur 320 (en mode portrait), car vous souhaitez que C s'affiche initialement, pas L.
- Chaque fois qu'un défilement se termine, l'élément contentoffset est un nombre entier d'écrans. Si vous affichez toujours C (contentoffset est 320), alors vous allez bien. Si contentoffset est maintenant 0 ou 640, vous avez un peu de travail à faire.
Si l'utilisateur fait défiler à gauche - vous avez la même hiérarchie de vue, mais maintenant la scrollview montre L plutôt que C, parce que le contentoffset est 0, avec un scrolloffset de 0. Vous devez maintenant réinitialiser tout le contenu afin vous avez XLC et un scrolloffset de 320 - dans le cas où l'utilisateur veut faire défiler à gauche à nouveau. En d'autres termes, C devient le nouveau R, L devient le nouveau C, et X est le nouveau contenu à afficher si l'utilisateur fait défiler à gauche.
La méthode pour annuler le faire est:
(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
je referais ce en utilisant un CATransition, avec le type kCATransitionPush.
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight]; //or ...FromLeft, as the case may be
J'ai obtenu de meilleures performances avec CATransitions que d'autres techniques jusqu'à présent, mais cela pourrait dépendre de plusieurs facteurs. Jetez un oeil à la classe TransitionView dans l'exemple de code d'Apple pour un exemple de la façon de construire une vue qui fait des transitions. Avec cette classe, vous pouvez faire:
- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration;
Merci aussi! Je vais essayer et voir ce que j'aime. –
- 1. Comment créer une vue défilante horizontale sur iPhone?
- 2. Rendu des primitives 2D en vue défilante
- 3. Vue MySQL avec une fonction pour créer une variable d'entrée
- 4. Sharepoint, Créer une vue, Propriétés du filtre
- 5. Comment créer une barre de défilement horizontale qui défilera automatiquement après un certain intervalle de temps
- 6. Comment créer une vue similaire à AddressBook edit contact
- 7. Comment est-ce que je peux créer une zone de texte défilante de doigt dans WM 6.5?
- 8. Comment créer un texte flou dans une vue iPhone?
- 9. comment créer une vue Diagramme de Gantt sur Iphone sreen
- 10. Comment créer une sous-vue UIView Ne pas faire défiler
- 11. Comment faire pivoter la vue verticale à horizontale dans l'application iPhone personnalisée
- 12. comment créer une vue mssql pour obtenir les dernières informations d'état
- 13. Eclipse RCP, SWT, JFace: Comment créer une boîte de dialogue modale uniquement pour une vue (pas pour tout le shell)?
- 14. Comment rapidement traiter une vue?
- 15. Créer une vue de liste avec les sections d'en-tête
- 16. Comment faire pour que UIMenuController fonctionne pour une vue personnalisée?
- 17. Comment obtenir une URL inversée pour une vue générique?
- 18. Remplissage du modèle pour une vue partagée, incorporation d'une vue partagée dans une autre vue
- 19. Comment ouvrir une nouvelle vue en touchant une vue?
- 20. Est-ce la bonne façon de créer une vue?
- 21. ItemsControl avec l'orientation horizontale
- 22. Page horizontale dans Crystal Reports
- 23. Comment créer une barre d'outils pour IE?
- 24. Comment créer une bibliothèque statique pour iPhone?
- 25. Comment créer une vue MVC fortement typée basée sur une classe Linq2Sql personnalisée
- 26. Comment puis-je créer une application basée sur une vue qui n'utilise pas de fichier nib?
- 27. Comment puis-je créer une vue dans une base de données SQL Server avec C#?
- 28. iPhone SDK: Comment charger une vue différente?
- 29. Fraction horizontale pour pop-to-buffer dans Emacs 23?
- 30. Asp.Net MVC - Vue -> Créer 2 objets
Merci pour la réponse rapide! :) –