Gestire l’evento shake

Lo shake in alcune guide online è spesso trattato in maniera poco “corretta” o comunque in modo stilisticamente poco fine. Con questo intendo dire che alle volte viene rilevato un evento shake controllando l’accelerometro e i movimenti sui tre assi da esso rilevati. Questa soluzione è sicuramente funzionante è corretta ma diciamo che non tiene conto di una cosa……Cocoa Touch gestisce già l’evento shake e gestisce nel contempo i problemi legati a questo evento (uno shake lungo o corto che sia sempre uno rimane, con gli accellerometri invece basta rallentare senza fermasi per fare scaturire diversi shake). Quindi valutate bene cosa dovete realizzare perchè entrambi i metodi funzionano ma hanno caratteristiche differenti. Ora vi posto il codice dell’evento shake.

#codice da inserire nel file header ad esempio "pippo.h"
 
//evento shake della libreria UIResponder
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
 
#nel vostro file "pippo.m" invece
//metodo che al riconoscimento dello shake aiuta a capire la schermata
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake) {
NSLog(@"shake shake shake");
}
}
 
-(BOOL)canBecomeFirstResponder {
return YES;
}
 
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
 
- (void)viewWillDisappear:(BOOL)animated {
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
  1. No comments yet.

  1. No trackbacks yet.