IOS3.0以后可以用如下
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
}
-(void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event{
}
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
}
这三个方法检测手机摇晃事件。
我说两个要注意的地方
1.要实现摇晃的view或者viewController一定要添加
-(BOOL)canBecomeFirstResponder{
return YES;
}
注意不是-(BOOL)becomeFirstResponder;这个方法。
2.在这个view的viewController中添加[view becomeFirstResponder]; 或者在viewController添加
[self becomeFirstResponder];
注意了以上这段代码必须添加在
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
这里
(添加在其他地方就无效了)
本人一开始添加在如下里
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
}
添加这里看似差不多,其实差远了完全接收不到摇晃事件。
就这么多大家注意一下吧。
本文出自 “做fashion的IT人” 博客,请务必保留此出处http://kyoworkios.blog.51cto.com/878347/1152692