1.在需要实现摇一摇的controller里面,首先需要在
- (void)viewDidLoad里面初始化
[[UIApplicationsharedApplication]setApplicationSupportsShakeToEdit:YES];
[selfbecomeFirstResponder];
获取摇一摇的动作主要通过下面的三个方法实现的。
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion ==UIEventSubtypeMotionShake )
{
// User was shaking the device. Post a notification named "shake".
[[NSNotificationCenterdefaultCenter] postNotificationName:@"shake"object:self];
}
}
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
2.在iOS中,主要使用AudioServicesPlaySystemSound 这个接口来进行声音和震动的播放。
SystemSoundID soundID;
NSString *path = [[NSBundlemainBundle] pathForResource:@"test"ofType:@"wav"];
AudioServicesCreateSystemSoundID((__bridgeCFURLRef)[NSURLfileURLWithPath:path], &soundID);
//播放声音
AudioServicesPlaySystemSound (soundID);
//播放震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);