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]; }
No comments yet.