2010-10-02 13 views
3

Je suis intéressé par la façon dont la partie inférieure de l'application stock iphone est mis en œuvre. La partie inférieure de l'application, où vous pouvez basculer les vues en balayant votre doigt vers la gauche/droite et le "..." ci-dessous la vue pour indiquer quelle vue l'utilisateur regarde.iphone passer des vues en balayant les doigts vers la gauche et la droite, similaire à l'application stock

Il me semble un composant tabview. J'essaie de chercher le composant de l'interface utilisateur ainsi que google, mais je n'ai pas encore trouvé quelque chose comme ça. La plupart des exemples que j'ai trouvés utilisent une vue de défilement. Lorsque vous faites glisser le doigt vers la gauche/droite, la barre de défilement apparaît, et plus important encore, il n'y a pas de "..." sous la vue pour indiquer quelle vue l'utilisateur regarde.

Quelqu'un pourrait-il me diriger vers un exemple similaire?

Merci, Thomas

Répondre

6

Il est un UIScrollView avec pagingEnabled ensemble à YES prenant la majeure partie de l'écran avec un UIPageView dessous. Voir le PageControl sample code d'Apple pour plus de détails.

Vous pouvez désactiver l'affichage des indicateurs de défilement en définissant les propriétés showsHorizontalScrollIndicator et showsVerticalScrollIndicator de la vue déroulante sur NO.

Il peut également être intéressant de vérifier le PhotoScroller sample code pour un exemple détaillé de la façon de faire de la pagination à l'aide d'UIScrollView. Il y a aussi une superbe vidéo intitulée «Concevoir des applications avec des vues défilantes» qui vous guide à travers des vues paginantes en utilisant un UIScrollView dans les vidéos WWDC 2010. Je recommande fortement de le regarder et les autres vidéos WWDC. Vous pouvez les obtenir en vous connectant au centre de développement iOS et en faisant défiler vers le bas. De plus, comme ils vous le disent dans la vidéo, vous n'avez pas besoin d'utiliser les événements tactiles ou de surcharger touchesBegan:withEvent: ou des fonctions similaires pour que cela se produise. Si vous le faites de cette façon, vous devez faire beaucoup de travail pour faire passer des événements qui vous importent peu à travers les vues que vous montrez et des choses comme ça. UIScrollView avec pagingEnabled mis à YES fait tout le dur travail pour vous.

Si vous ne souhaitez pas utiliser une vue de défilement pour une raison quelconque, l'utilisation d'un UIGestureRecognizer est la solution. Mais vraiment, utilisez simplement une vue de défilement.

+0

Merci beaucoup. Je vais lire l'échantillon. – Thomas

1

Ceci est appelé événements tactiles. plus encore Glissez le contact sur l'iphone.

Et voici deux exemples.

Voici un extrait de code: Vous devez d'abord indiquer à l'application que toucheBegan.

Vous pouvez trouver quelques détails sur l'API pour cela. Ensuite, les méthodes déléguées seront appelées automatiquement chaque fois qu'un utilisateur touche l'écran de l'iphone.

- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { 
    UITouch *touch = [touches anyObject]; 
    if (touch.info & UITouchSwipedRight) { 
     [self changeViewRight]; 
    } else if (touch.info & UITouchSwipeLeft) { 
     [self changeViewLeft]; 
    } 
    return; 
} 

vérifier cet exemple:

http://devblog.wm-innovations.com/tag/touchesbegan/

C'est un très bon exemple.

Espérons que cela aide. Dites-moi si cela a un peu été le cas. Merci

PK

+0

L'exemple serait très utile. Merci!!! – Thomas