j'ai des questions concernant la détection de tremblement qui a posté ici avant, voici un rappel:détecter shakes un iPhone
« Maintenant ... je voulais faire quelque chose de similaire (dans l'iPhone OS 3.0+), seulement Dans mon cas, je voulais l'appl-wide afin que je puisse alerter les différentes parties de l'application quand un tremblement se produisait Voici ce que j'ai fini par faire
D'abord, j'ai sous-classé UIWindow. avec une interface telle que MotionWindow: UIWindow (n'hésitez pas à choisir la vôtre, natch) Ajoutez une méthode comme ceci:
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventTypeMotion && event.subtype == UIEventSubtypeMotionShake) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"DeviceShaken" object:self];
}
}
Maintenant, si vous utilisez un MainWindow.xib (stock de template Xcode), allez là-bas et changez la classe de votre objet Window de UIWindow à MotionWindow ou quoi que vous l'appeliez. Sauvegardez le xib. Si vous configurez UIWindow par programme, utilisez plutôt votre nouvelle classe Window.
Maintenant, votre application utilise la classe UIWindow spécialisée. Partout où vous voulez être informé d'un tremblement, inscrivez-vous pour les notifications! Comme ceci:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(deviceShaken) name:@"DeviceShaken" object:nil];
Pour vous retirer à titre d'observateur:
[[NSNotificationCenter defaultCenter] removeObserver:self];
questions:
- où mettre les notifications (j'ai vue app base)?
- dois-je me retirer en tant qu'observateur, qu'est-ce que cela signifie?
- Quelle est l'instruction if que j'utilise pour vérifier si le tremblement s'est accumulé?
- Comment puis-je savoir si l'événement Shake sait qu'il est "déjà en cours"?
merci.
Dupliquer http://stackoverflow.com/questions/150446/how-do-i-detect-when-someone-shakes-an-iphone –