2012-03-25 51 views
0

我成功實現了搖動手勢,但現在我想限制它僅在特定情況下激活(在我的應用程序的選項面板中)。如何將iPhone手勢檢測限制到特定情況?

  • 我第一次創建了ShakeWindow類,它是UIWindow的子類。在ShakeWindow中,我添加了- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event來註冊搖動手勢。

  • 接下來,我去AppDelegate.m並編輯window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];來使用新的ShakeWindow而不是UIWindow。

它很好,但我怎麼限制它的功能?我剛開始Objective-C並認爲自己是一個新手編碼器,因此在回答時請記住,謝謝!

我使用Cocos2D作爲框架,如果這些問題我不使用Interface Builder。

回答

4

我可能會被誤解,但如何...

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 

    if (/* conditions where my app responds to shake */) { 
     // respond to shake 
    } 
    // otherwise, it's like it never happened 
} 
+0

我必須說,我有時候最容易的事情看起來方式難度比他們真的是。謝謝。 – Liuhu 2012-03-25 19:52:53