<h6>
看到微信的搖一搖功能是不是感覺很神奇呢更舞?
其實在iOS里想要實現(xiàn)搖一搖功能很簡單,方法如下:
</h6>
<li>先在targets -> Build Phases -> Link Binary With Libraries里面添加AudioToolbox.framework;
<li>然后在想要添加搖一搖功能的ViewController里導入:
#import <AudioToolbox/AudioToolbox.h>
<li>接著實現(xiàn)開始莫其、結束衰粹、取消搖動的代理方法:
//開始搖動代理方法
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
NSLog(@"開始搖動");
}
//結束搖動代理方法
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
NSLog(@"結束搖動");
//振動效果
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
//如果有搖動動作,就做相應操作
if (event.subtype == UIEventSubtypeMotionShake) {
NSArray *colorList = @[[UIColor orangeColor],[UIColor brownColor],[UIColor yellowColor],[UIColor redColor],[UIColor blueColor]];
int rand = arc4random()%5;
//這里我是讓每次搖動隨機切換一次self.view的背景顏色
self.view.backgroundColor = colorList[rand];
}
}
//取消搖動代理方法
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event{
NSLog(@"取消搖動");
}
在對應的代理方法里寫相應的事件就能實現(xiàn)搖一搖功能了炉爆。