2010-08-01 53 views
0

我試圖在我的應用程序中啓用抖動手勢,但我遇到了問題。爲什麼我的應用程序未檢測到搖動手勢?

我有不同的視圖控制器,但其中的一個(不是應用程序的主視圖控制器)沒有響應搖動手勢發生。可能是什麼問題呢?

相關的代碼如下:

-(BOOL)canBecomeFirstResponder { 
    return YES; 
} 

-(void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    [self becomeFirstResponder]; 
} 


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

{ 
    if (event.subtype == UIEventSubtypeMotionShake) 
    { 


NSLog (@"SHAKED"); 

    } 
} 
+0

我不認爲'-viewDidAppear:'被調用。 – kennytm 2010-08-01 13:11:11

+0

那我該怎麼辦? :-S – Momi 2010-08-02 14:59:32

回答

0

我想你應該檢查的運動,而不是事件。像這樣:

-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    if (motion == UIEventSubtypeMotionShake) {  
    NSLog(@"SHOOK"); 
    } 
}