Jak používat Shake API v iPhone SDK 3.0?

hlasů
15

Apple annonced Shake API v iPhone SDK 3.0. Nemohu najít žádné informace týkající se této nové funkce.

Kdo ví, jak ji používat? Jakýkoli příklad, spojení bude dobré.

Položena 23/07/2009 v 11:36
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Joe Hewitt nedávno spáchal nějaký kód pro Three20 který využívá událost 3.0 chvění. Vypadá to, že stačí provést nějaký jednoduchý kód uvnitř -motionBegan:withEvent:uvnitř vašeho UIResponder.

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (event.type == UIEventSubtypeMotionShake) {
        ...
    }
}
Odpovězeno 23/07/2009 v 13:08
zdroj uživatelem

hlasů
36

API, které hledáte, jsou ve UIResponder :

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;

Obecně stačí provést toto:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  if (event.type == UIEventSubtypeMotionShake) {
    //Your code here
  }
}

v UIViewController podtřídy (UIViewController je podtřídou UIResponder). Také budete chtít s ní zacházet v motionEnded: withEvent :, není motionBegan: withEvent :. motionBegan: withEvent: je volána, když telefon podezřelí třesoucí se děje, ale OS může určit rozdíl mezi uživatelem účelně třást a související třepání (jako je chůze po schodech). V případě, že operační systém rozhodne, že to nebyl skutečný chvění po motionBegan: withEvent: se jmenuje zavolá motionCancelled: namísto motionEnded: withEvent :.

Odpovězeno 23/07/2009 v 13:21
zdroj uživatelem

hlasů
7

Jsem vyslán kompletní 3.0 příkladem v tomto tématu:

Jak mám rozpoznat, když někdo třese iPhone?

Odpovězeno 23/07/2009 v 16:57
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more