ok alors voici le problème que je rencontre: p>
Je tente de passer d'un Je ne suis pas vraiment sûr où commencer. p>
Aussi, j'utilise des fichiers XIB et non le storyboard. Exécution d'iOS 6. p> ViewController Code> que j'ai nommé
menuViewController code> qui contient mon menu (évidemment). J'ai un
ViewController distinct Code> nommé
ViewController code> qui contient mon
MapView code>. Je voudrais pouvoir doubler le doigt
glisser gauche code> de mon
menuViewController code> sur mon
MapView code>. p>
6 Réponses :
Tout d'abord, vous ne pouvez pas utiliser le mécanisme de navigation intégré. P>
Vous devrez ajouter la vue de la "ViewController" à la vue de "MenuViewController" et je vous recommande d'ajouter 'ViewController' en tant que contrôleur d'affichage enfant à la "MenuViewController". P>
Après cela, réglez le cadre du côté "ViewController" de l'écran et lorsque vous balayez ou faites votre geste, il suffit de l'animer à l'écran. P>
UISwipeGestureRecognizer *swipeLeftGesture=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)]; [self.view addGestureRecognizer:swipeLeftGesture]; swipeLeftGesture.direction=UISwipeGestureRecognizerDirectionLeft; -(void)handleSwipeGesture:(UIGestureRecognizer *) sender { NSUInteger touches = sender.numberOfTouches; if (touches == 2) { if (sender.state == UIGestureRecognizerStateEnded) { //Add view controller here } } }
Et cela irait dans ma vue de vie correcte? Qu'est-ce qui se passe dans mon fichier d'en-tête? Aussi, comment puis-je "ajouter un contrôleur d'affichage ici"?
Mettez le code de geste de balayage (3 premières lignes de mon ANS) dans la vue ViewDidLoad. Rien dans .h fichier. Allouez votre contrôleur d'affichage et appuyez simplement en avant, ajoutez-le ou présentez-le dans la méthode PoignéeWipegesture.
C'est comme ça que j'ai ajouté mon point de vue de cette ligne et ça ne fonctionne pas: ViewController * MapView = [[ViewController ALLOC] initwithnibname: @ "ViewController" Bundle: [Nsbundle MainBundle]]; [NavigationController PushviewController: MapView Animated: Oui];
Où allouez-vous un contrôleur de navigation? Il suffit d'expliquer comment vous ajoutez les contrôleurs d'affichage dessus.
Cela ressemble à un moment idéal pour utiliser Uigesurerecognizer ou, plus précisément, Uiswipegesturerecognizer P>
Une fois passez à travers cela,
-(void)handleleftSwipe:(UISwipeGestureRecognizer *)recognizer{ //Do ur code for Push/pop.. } -(void)handlerightSwipe:(UISwipeGestureRecognizer *)recognizer{ //Do ur code for Push/pop.. }
Essayez ceci ...
in .m fichier strong> p>
Ah, sans bon bon monsieur. Je l'ai chargé dans mon fichier d'en-tête et de mise en œuvre. Je ne sais pas si je le fais correctement, mais j'utilise réellement l'API Google Maps. Est-ce que la MAPView ne va-t-elle pas aller directement dans la visiteuse par défaut? J'apprécie cependant vos efforts.
Remplacez votre code à la ligne [autoavigationController PushViewController: MapViewOBJ Animation: Oui]; B>
Je suis désolé, mais je ne suis pas suivi. Que dois-je remplacer cette section du code?
C'est ce que j'ai codé pour vous.
//add gesture recogniser to your view [self addSwipegestureToView:self.view]; - (void) addSwipegestureToView : (UIView *) view{ UISwipeGestureRecognizer *_swipegestureRecogniser = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesturePerformed)]; _swipegestureRecogniser.numberOfTouchesRequired = 2; [_swipegestureRecogniser setDirection:UISwipeGestureRecognizerDirectionLeft]; [view addGestureRecognizer:_swipegestureRecogniser]; } - (void) swipeGesturePerformed{ SecondViewController *object = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:[NSBundle mainBundle]]; [self.navigationController pushViewController:object animated:YES]; }