ShakeToEdit

之所以用这样的标题,是因为直接写“摇一摇”太俗,逼格太低。
友盟已停止更新摇一摇分享功能的集成文档,所以用再用也就不合适了,但这个功能本身比较简单,用系统原生也很方便。

需要响应摇一摇的VC.m中[1]

-(void)viewDidLoad{
    // 设置程序支持摇一摇功能
    [UIApplication sharedApplication].applicationSupportsShakeToEdit = YES;
    //设置第一响应者
    [self becomeFirstResponder];

}
// 摇一摇开始摇动
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"开始摇动");
    return;
}

//摇一摇结束摇动
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent*)event
{
    if(motion == UIEventSubtypeMotionShake){
        
        [self shareAction:nil];
    }
}

虽然方法简单易用,但这个功能有时候会失效,失效时系统所有的摇一摇撤销重做都会不起作用,从而导致所有关联的Shake事件不起作用,长时间平放后也许会恢复。
微信的摇一摇很帅,在TARGET中引入 CoreMotion.framework 是因为他们用加速仪重新实现的.原文链接


  1. 当然合适的写法也可以是在viewDidAppear:方法中使成为第一响应者

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容