iOS之摇一摇功能实现

iPhone对摇一摇有很好的支持,总体说来就两步:首先在试图控制器中打开接受摇一摇的开关然后在摇一摇触发的制定的方法中实现你要实现的功能就好。

在 UIResponder中存在这么一套方法
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);

这就是执行摇一摇的方法。那么怎么用这些方法呢?
很简单,你只需要让这个Controller本身支持摇动
同时让他成为第一相应者:
- (void)viewDidLoad
{
    [superviewDidLoad];
  //开启摇一摇功能
    [[UIApplicationsharedApplication] setApplicationSupportsShakeToEdit:YES];
  //让当前控制器成为第一响应者
    [self becomeFirstResponder];
}
然后去实现那几个方法就可以了
- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent*)event
{
    //检测到摇动
}
- (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    //摇动取消
}
 
- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    //摇动结束
    if (event.subtype == UIEventSubtypeMotionShake) {
        //something happens
 
    }
}
posted on 2016-04-04 13:59  学东哥哥  阅读(762)  评论(0编辑  收藏  举报