2011-08-22 3 views
2

J'ai sais déjà comment attraper le geste de secouer avec le code ci-dessousIOS Comment secouer pour changer la vue

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event 
{ 
    if (event.subtype == UIEventSubtypeMotionShake) 
    { 
     // Put in code here to handle shake 
     NSLog(@"Device Shaked");  


    } 

    if ([super respondsToSelector:@selector(motionEnded:withEvent:)]) 
     [super motionEnded:motion withEvent:event]; 
} 

Le NSLog montre qu'il avait reçu la secousse

mais comment pousser une autre Comme nous le savons, le code ci-dessous ne peut être utilisé que dans la classe ViewController au lieu de la classe View, ce Leavesview est géré par un LeavesviewController, et j'utilise ce viewController dans un autre PDFViewController à afficher, alors comment faire il saute à une autre vue ou rejeter ???

UIViewController *myView = [[UIViewController alloc]init]; 
    [self.navigationController pushViewController:myView animated:YES]; 

Répondre

0

Ok, évidemment, je suis juste un démarreur il y a 2 mois. En outre, évidemment, la réponse est le Delegation;

1
See this complet Code...... 


     - (BOOL) canBecomeFirstResponder { 
      return YES; 
     } 

     - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 

      if (event.subtype == UIEventSubtypeMotionShake) 
      { 
       // Work which you want 
      } 
     } 



    also dont forget these two methods... 

    -(void)viewDidAppear:(BOOL)animated{ 
     [super viewDidAppear:animated]; 
     [self becomeFirstResponder]; 

     } 


    -(void)viewDidDisappear:(BOOL)animated{ 
     [super viewDidDisappear:animated]; 
     [self resignFirstResponder]; 
    } 
+0

Je ne pense pas que le résignent dans 'viewDidDisappear:' devrait être appelé. C'est inoffensif, mais nous n'allons généralement pas ajouter de code pour démissionner du premier répondant. Mais sinon, bonne réponse. –

Questions connexes