2011-01-26 7 views
10

का पता लगा रहा मैं इस तरह शेक एपीआई का उपयोग कर रहा:उद्देश्य सी: एक शेक

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event 
{ 
    if (event.subtype == UIEventSubtypeMotionShake) 
    { 
     [img stopAnimating];  
    } 
} 

मैं कैसे पता लगाता है कि झटकों बंद कर दिया है करते हैं?

उत्तर

22

आप सही रास्ते पर हैं तथापि, वहाँ अभी भी अधिक बातें आप मिलाते हुए पता लगाने के लिए जोड़ने की जरूरत है कर रहे हैं,:,

आप motionBegan या motionEnded तरीकों के लिए एक NSLog जोड़कर इस परीक्षण कर सकते हैं, और सिम्युलेटर में CONTROL + COMMAND + Z

#pragma mark - Shake Functions 

-(BOOL)canBecomeFirstResponder { 
    return YES; 
} 

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

-(void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:NO]; 
} 

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

-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event 
{ 
    if (motion == UIEventSubtypeMotionShake) 
    { 
     // shaking has began. 
    } 
} 


-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event 
{ 
    if (motion == UIEventSubtypeMotionShake) 
    { 
     // shaking has ended 
    } 
} 
+1

बिल्कुल सही! बहुत बहुत धन्यवाद ... – itsame69

+0

canBecomeFirstResponder समझ में आता है। –

संबंधित मुद्दे