2011-10-20 3 views
0

Peut-être que vous pouvez m'aider. J'ai trois vues différentes (Actuellement en cours dans le storyboard). Je voudrais que l'utilisateur balaye entre les trois vues au lieu de cliquer sur un bouton. Y at-il un moyen facile d'activer le balayage et de permettre de gauche à droite et de droite à gauche glisser?Balayant entre les vues

J'ai fait des recherches sur Apples Dev. site Web et trouvé des trucs utiles rien qui explique vraiment passer d'une vue à l'autre.

Répondre

1

Oui, il suffit d'utiliser le UISwipeGestureRecognizer à reconnaître gauche et à droite swipes:

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISwipeGestureRecognizer_Class/Reference/Reference.html

Vous aurez besoin de faire quelque chose de différent pour le pré-iOS 3.2 si ce important pour vous.

La commutation entre les vues est assez simple, vous pouvez simplement créer trois sous-vues différentes et ne rendre visible que celui dont vous avez besoin. Il y a d'autres façons de le faire, en fonction du type de matériel que vous utilisez. J'ai besoin de plus d'informations pour donner une réponse plus précise que cela.

2

Certaines des façons de basculer entre les vues dans iOS -

  1. Le mieux est d'utiliser un NavigationViewController beaucoup plus stricte gestion de la mémoire.
  2. On peut également utiliser ModalViewControllers.
  3. Faites une présentation personnalisée.

De tous les trois, le premier est plus efficace. mais animer la transition entre les vues est difficile. Ainsi est le deuxième. Le troisième vous donne la flexibilité maximale pour fournir des animations personnalisées entre les transitions de vue, mais vous devez vraiment prendre soin de la gestion de la mémoire vous-même.

Maintenant revenons à votre problème particulier; cela semble assez simple. Vous pouvez prendre quelques approches -

  1. ont une énorme UIScrollView & active uniquement défilement horizontal & pagination. Maintenant, ajoutez vos vues dans ce scrollView. après le balayage, vous obtenez de voir vos nouvelles vues.
  2. Si la vue de défilement est pas ce que vous voulez & voulez avoir un peu plus de personnalisation à la façon dont le glissement se produit alors vous pouvez essayer de faire ce qui suit -
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleViewsSwipe:)]; 
[swipe setDirection:UISwipeGestureRecognizerDirectionLeft]; 
[yourView addGestureRecognizer:swipe]; 
[swipe release]; 

Avec ce simple effleurement le geste est défini sur yourView si quelqu'un balaie iOS va frapper le sélecteur handleViewsSwipe. Vous gérez ce qui se passe lorsqu'un utilisateur balaye ici.

définissent le sélecteur comme

- (void)handleViewsSwipe:(UISwipeGestureRecognizer *)gesture 

Hope this helps ..

0

Qu'en est-il un UIPageControl? Vous pouvez l'utiliser pour détecter/contrôler les demandes de basculement entre les pages, puis utiliser l'événement délégué UIControlEventValueChanged pour basculer le contenu dans la vue.