2016-04-30 12 views
-2


Ich mag wissen, wie zu erkennen, ob ein iPhone in den letzten 60 Sekunden mit schnellen
, wie zu erkennen, ob Telefon hat

ich auf diesen Code kam unten, funktioniert aber nur verschoben wird verschoben, wenn das Telefon ist erschüttert.
Ist es möglich zu erkennen, wenn das Telefon bewegt, aber nicht kräftig geschüttelt wird?

override func motionEnded(motion: UIEventSubtype, 
          withEvent event: UIEvent?) { 
     if motion == .MotionShake { 
      let controller = UIAlertController(title: "Shake", 
              message: "The device is shaken", 
              preferredStyle: .Alert) 

      controller.addAction(UIAlertAction(title: "OK", 
       style: .Default, 
       handler: nil)) 

      presentViewController(controller, animated: true, completion: nil) 

     } 

} 
+0

Können Sie bitte etwas vollständiger beschreiben, was als "bewegt" gilt? Was ist das Mindestmaß an Bewegung, das ausgelöst werden sollte? – nhgrif

+0

Sie können Zugriff auf den Beschleunigungsmesser oder Gyroskop usw. https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/motion_event_basics/motion_event_basics.html – Gruntcakes

+0

durch verschoben, ich meine, ist nicht auf dem Schreibtisch , Tabelle oder usw. – borna

Antwort

1

Ich denke, du wirst den Beschleunigungssensor verwenden müssen und einen moderaten Tiefpassfilter mit dem Ausgang anzuwenden, so dass Sie sehr allmähliche Änderung ignorieren, aber moderate Beschleunigung abholen. Sie sollten die Schwelle einstellen können.

Ich empfehle die Suche auf "IOS-Tiefpass-Tiefpassfilter". Du wirst deinen eigenen Code schreiben müssen.

Verwandte Themen