iOS仿微信摇一摇功能
iOS仿照微信摇一摇功能实现
一、描述
需要做一个界面,仿照微信摇一摇,获取接口进行签到功能。
首先明确以下几点:
1、需要震动。
2、需要声音。(准备好mp3音效)
二、直接贴代码
/Createdby石雄伟on16/7/29. //Copyright©2016年石雄伟.Allrightsreserved. // #import"SignBoardViewController.h" #import#import #import @interfaceSignBoardViewController() { } @property(nonatomic,strong)AVAudioPlayer*audioPlayer; @end @implementationSignBoardViewController -(void)viewDidLoad{ [superviewDidLoad]; //Doanyadditionalsetupafterloadingtheview. //设置导航 [selfmakeNav]; } #pragmamark定制Nav -(void)makeNav { [self.navigationItemsetTitle:@"每日签到"];//改写title //修改导航按钮,并且修改响应方法 self.leftButton.frame=CGRectMake(0,0,13,20); [self.leftButtonsetBackgroundImage:[UIImageimageNamed:@"NavBack"]forState:UIControlStateNormal]; self.leftButton.layer.cornerRadius=0; self.leftButton.layer.masksToBounds=NO; self.leftButton.layer.borderColor=[UIColorclearColor].CGColor; //添加点击方法 [self.leftButtonaddTarget:selfaction:@selector(navLeftClick)forControlEvents:UIControlEventTouchUpInside]; //隐藏右边按钮 self.rightButton.hidden=YES; } #pragmamarknav左边导航按钮方法重写,返回按钮 -(void)navLeftClick { [selfdismissViewControllerAnimated:YEScompletion:^{ nil; }]; } #pragmamark- #pragmamark点击 -(void)touchesBegan:(nonnullNSSet *)toucheswithEvent:(nullableUIEvent*)event { NSLog(@"点击,触摸方法等"); AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); } #pragmamark- #pragmamark摇动开始 -(void)motionBegan:(UIEventSubtype)motionwithEvent:(nullableUIEvent*)event { NSLog(@"beginmotion"); } #pragmamark- #pragmamark摇动结束 -(void)motionEnded:(UIEventSubtype)motionwithEvent:(nullableUIEvent*)event { NSLog(@"endmotion"); if(motion==UIEventSubtypeMotionShake) { //播放音效 SystemSoundIDsoundID;//shake_sound_male.mp3 NSString*path=[[NSBundlemainBundle]pathForResource:@"shake_sound_male"ofType:@"mp3"]; AudioServicesCreateSystemSoundID((__bridgeCFURLRef)[NSURLfileURLWithPath:path],&soundID); AudioServicesPlaySystemSound(soundID); //设置震动 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); } } #pragmamark- #pragmamark摇动取消 -(void)motionCancelled:(UIEventSubtype)motionwithEvent:(UIEvent*)event { } -(void)didReceiveMemoryWarning{ [superdidReceiveMemoryWarning]; //Disposeofanyresourcesthatcanberecreated. } /* #pragmamark-Navigation //Inastoryboard-basedapplication,youwilloftenwanttodoalittlepreparationbeforenavigation -(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{ //Getthenewviewcontrollerusing[seguedestinationViewController]. //Passtheselectedobjecttothenewviewcontroller. } */
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。