之所以用这样的标题,是因为直接写“摇一摇”太俗,逼格太低。
友盟已停止更新摇一摇分享功能的集成文档,所以用再用也就不合适了,但这个功能本身比较简单,用系统原生也很方便。
需要响应摇一摇的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 是因为他们用加速仪重新实现的.原文链接
-
当然合适的写法也可以是在viewDidAppear:方法中使成为第一响应者 ↩