2010-08-01 30 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"); 
    } 
}