我知道的搖一搖有以下2種方案:
一、直接用系統自帶的motionBegan方法
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
假如程序不響應此方法,試著加入下面方法:-(BOOL)canBecomeFirstResponder
{
return YES;
}
如果還不行,建議用第二種方法。
二、motionBegan+通知的方法
1.在Appdelegate裡寫motionBegan方法
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
[[NSNotificationCenter defaultCenter]postNotificationName:@"shake" object:self];
}
2.在需要接收通知的頁面添加通知[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(shakeAction) name:@"shake" object:nil];
寫在viewDidLoad裡即可。這裡的shakeAction就是搖一搖需要調用的方法,自己修改,通知名字對應就好,可自由修改。