美文网首页2017动作
iOS「摇一摇」功能的实现

iOS「摇一摇」功能的实现

作者: 骑行怪状 | 来源:发表于2016-04-10 23:04 被阅读5834次

    iOS 系统在 UIResponder 类中提供了一个摇一摇的实现方法,大体实现思路为: 想让哪个 VC 实现摇一摇方案,将该 VC 变为第一响应者即可;

    在 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);
    

    在viewDidLoad 中执行以下方法

    - (void)viewDidLoad {  
    [super viewDidLoad];  
    // 设置允许摇一摇功能  
    [UIApplication sharedApplication].applicationSupportsShakeToEdit = YES;  
    // 并让自己成为第一响应者  
    [self becomeFirstResponder];  
    return;  
    }
    

    摇一摇相关方法:

    - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
    NSLog(@"开始摇动");  
    return;  
    }  
    
    - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
    NSLog(@"取消摇动");  
    return;  
    }  
    
    - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
    if (event.subtype == UIEventSubtypeMotionShake) { // 判断是否是摇动结束  
        NSLog(@"摇动结束");  
    }  
    return;  
    }  
    

    另外:在模拟器中运行时,可以通过「Hardware」-「Shake Gesture」来测试「摇一摇」功能

    注意: 一定要在运行时才能调用 「Hardware」 注意: 一定要在运行时才能调用 「Hardware」

    相关文章

      网友评论

      • 为了中华富强:有弹出键盘的时候摇摇无效,怎么办?
      • RenXiangCode:想请教你一个问题,我要息屏之后要实现摇一摇功能,目前我只能实现亮屏摇一摇功能,息屏之后就不行了,初步估计是和摇一摇那几个代码写的位置有关系(酷狗息屏之后可以摇一摇换歌)

      本文标题:iOS「摇一摇」功能的实现

      本文链接:https://www.haomeiwen.com/subject/cbtilttx.html