之所以用這樣的標(biāo)題,是因?yàn)橹苯訉憽皳u一搖”太俗,逼格太低。
友盟已停止更新?lián)u一搖分享功能的集成文檔,所以用再用也就不合適了,但這個(gè)功能本身比較簡(jiǎn)單,用系統(tǒng)原生也很方便。
需要響應(yīng)搖一搖的VC.m中[1]
-(void)viewDidLoad{
// 設(shè)置程序支持搖一搖功能
[UIApplication sharedApplication].applicationSupportsShakeToEdit = YES;
//設(shè)置第一響應(yīng)者
[self becomeFirstResponder];
}
// 搖一搖開始搖動(dòng)
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"開始搖動(dòng)");
return;
}
//搖一搖結(jié)束搖動(dòng)
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent*)event
{
if(motion == UIEventSubtypeMotionShake){
[self shareAction:nil];
}
}
雖然方法簡(jiǎn)單易用,但這個(gè)功能有時(shí)候會(huì)失效,失效時(shí)系統(tǒng)所有的搖一搖撤銷重做都會(huì)不起作用,從而導(dǎo)致所有關(guān)聯(lián)的Shake事件不起作用,長(zhǎng)時(shí)間平放后也許會(huì)恢復(fù)。
微信的搖一搖很帥,在TARGET中引入 CoreMotion.framework 是因?yàn)樗麄冇眉铀賰x重新實(shí)現(xiàn)的.原文鏈接
-
當(dāng)然合適的寫法也可以是在viewDidAppear:方法中使成為第一響應(yīng)者 ?