效果如下相关素材 相关代码如下#import "ShakeViewController.h"#import <AudioToolbox/AudioToolbox.h>#import <AVFoundation/AVFoundation.h ...
效果如下
相关素材
相关代码如下
#import "ShakeViewController.h"#import <AudioToolbox/AudioToolbox.h>#import <AVFoundation/AVFoundation.h>#define kScreenWidth [UIScreen mainScreen].bounds.size.width#define kScreenHeight [UIScreen mainScreen].bounds.size.height@interface ShakeViewController ()@property (nonatomic,strong)UIImageView *topImgView;@property (nonatomic,strong)UIImageView *botImgView;@property (nonatomic) SystemSoundID soundID;@end@implementation ShakeViewController- (void)viewDidLoad { [super viewDidLoad]; [UIApplication sharedApplication].applicationSupportsShakeToEdit = YES; [self becomeFirstResponder]; self.view.backgroundColor = [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0]; [self inintImageView]; [self initSoudID];}//初始化振动的图片- (void)inintImageView{ //中间线位置 CGFloat y = 64+(kScreenHeight-64)/2; //图片的比例 宽/高 CGFloat scale = 208/320.0; _topImgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, y-(kScreenWidth*scale), kScreenWidth, kScreenWidth*scale)]; _topImgView.image = [UIImage imageNamed:@"Shake_01"]; [self.view addSubview:_topImgView]; _botImgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, y, kScreenWidth, kScreenWidth*scale)]; _botImgView.image = [UIImage imageNamed:@"Shake_02"]; [self.view addSubview:_botImgView];}//对soundID进行赋值- (void)initSoudID{ NSString *path = [[NSBundle mainBundle] pathForResource:@"shake_sound_male" ofType:@"wav"]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &_soundID);}/*************************** 振动检测 ******************************/-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ //播放 AudioServicesPlaySystemSound (_soundID); CGFloat y_top = _topImgView.frame.origin.y; CGFloat y_bot = _botImgView.frame.origin.y; [UIView animateWithDuration:0.3 animations:^{ _topImgView.frame = CGRectMake(0, y_top-50, _topImgView.frame.size.width, _topImgView.frame.size.height); _botImgView.frame = CGRectMake(0, y_bot+50, _botImgView.frame.size.width, _botImgView.frame.size.height); } completion:^(BOOL finished) { [UIView animateWithDuration:0.3 animations:^{ _topImgView.frame = CGRectMake(0, y_top, _topImgView.frame.size.width, _topImgView.frame.size.height); _botImgView.frame = CGRectMake(0, y_bot, _botImgView.frame.size.width, _botImgView.frame.size.height); } completion:^(BOOL finished) { }]; }];}-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{ [self performSelector:@selector(vibrate) withObject:nil afterDelay:0.6];}-(void)vibrate{ //振动 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);}@end
原标题:iOS 摇一摇的功能
关键词:IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。