2009-10-10 3 views
-1

У меня есть ViewController, который отлично работает с кнопкой, которая запускает действие. Я хотел бы заменить кнопку с событием трясти, так что я гугл его вокруг и создал класс ShakeDetector, что ineherits от UIViewShake Detection iPhone 3.0 не работает

и моя реализация выглядит следующим образом:

@implementation ShakeDetector 

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

    - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event 
    { 
     if (motion == UIEventSubtypeMotionShake) 
     { 
      // User was shaking the device. Post a notification named "shake". 
      //[[NSNotificationCenter defaultCenter] postNotificationName:@"spin" object:self]; 
      NSLog(@"sss"); 
     } 
    } 

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

@end 

Но я не могу заставить его работать ... любую помощь?

Благодаря

ответ

1

Put:

-(BOOL)canBecomeFirstResponder 
{ 
    return YES; 
} 

и для вашего зрения:

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

Вы также можете записать его в viewWillAppear и viewWillDisappear

Смежные вопросы