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

iOS「摇一摇」功能的实现

作者: eden_lx | 来源:发表于2020-04-11 20:53 被阅读0次

    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」来测试「摇一摇」功能

    相关文章

      网友评论

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

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