iOS开发中如何检测手机在手机摇一摇频率快技巧

博客分类:
IOS 3.0 + 开始支持motion事件,检测设备摇动
– motionBegan:withEvent:
摇动开始时执行
– motionEnded:withEvent:
摇动结束时执行
– motionCancelled:withEvent:
摇动被取消时执行
具体检测代码如下:
1、 在AppDelegate.m中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
(NSDictionary *) launchOptions{
application.applicationSupportsShakeToEdit = YES;//添加此处
return YES;
2、在viewController中加入
-(BOOL)canBecomeFirstResponder {
return YES;
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self becomeFirstResponder];
- (void)viewWillDisappear:(BOOL)animated {
[self resignFirstResponder];
[super viewWillDisappear:animated];
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if (motion == UIEventSubtypeMotionShake)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"摇一摇!" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
浏览: 80120 次
来自: 济南
想问问 - (NSString *)tableView:(UI ...
不错。。。。。
说不定以后能用到
不错啊,很清晰,学习学习
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'&首先导入AudioToolbox.framework :project -&TARGETS -&General -&Linked Frameworks and Libraries
注释写的比较清晰,直接上代码了
1 #import &AudioToolbox/AudioToolbox.h&&
label是从sb中随便拖过来方便摇后回调
@property (strong, nonatomic) IBOutlet UILabel *
- (void)viewDidLoad {
[super viewDidLoad];
支持摇一摇
此处应该写在AppDelegate中,为粘贴代码方便写在这里
[[UIApplication sharedApplication] setApplicationSupportsShakeToEdit:YES];
让此控制器成为第一响应者
[self becomeFirstResponder];
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self resignFirstResponder];
重写下面方法即可摇动回调
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"开始摇动");
[self animation];
- (void)animation {
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"position"];
anim.fromValue = [NSValue valueWithCGPoint:CGPointMake(100, 50)];
anim.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 500)];
anim.removedOnCompletion = NO;
anim.duration = 1.0f;
anim.fillMode = kCAFillModeF
anim.delegate =
随便拖过来的一个label测试效果
[self.label.layer addAnimation:anim forKey:nil];
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake ) {
NSLog(@"摇动结束");
[self shakeshake];
摇动结束后执行震动
- (void)shakeshake {
  // 震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
完事,so easy
阅读(...) 评论()【iOS技术文章】iOS开发实例_摇一摇功能的实现方法【蓝鸥吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,560贴子:
【iOS技术文章】iOS开发实例_摇一摇功能的实现方法收藏
对于摇一摇这个应用相信大家都不陌生,我们最熟悉的莫过于微信摇一摇,微信摇一摇功能非常强大,让很多用户玩起来乐此不疲。那么今天成都iOS培训小编也来给大家分享一下iOS开发中,摇一摇功能是如何实现的,希望对大家有所帮助。  监控摇一摇的方法  方法1:通过分析加速计数据来判断是否进行了摇一摇操作(比较复杂)  方法2:iOS自带的Shake监控API(非常简单)  判断摇一摇的步骤:实现3个摇一摇监听方法  -(void)motionBegan:(UIEventSubtype)motionwithEvent:(UIEvent)event //检测到摇动  -(void)motionCancelled:(UIEventSubtype)motionwithEvent:(UIEvent)event // 摇动取消(被中断)  -(void)motionEnded:(UIEventSubtype)motionwithEvent:(UIEvent*)event // 摇动结束  注意:模拟器可以模拟摇一摇的功能  ViewController.h#import &ViewController.h&
ViewController ()@end  ViewController.m@implementation ViewController- (void)viewDidLoad {
[super viewDidLoad];}- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent )event{
NSLog(@&开始摇一摇&);}- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent )event{
NSLog(@&摇一摇被取消&);}- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
NSLog(@&摇一摇停止&);}@end本文链接:提供分享技术,传递智慧,让技术更简单。蓝鸥让教育回归本质,我们在行动。转载请注明出处。
登录百度帐号ios实现微信摇一摇功能
微信摇一摇功能大家想必用过~ ios SDK帮我们完成了所有功作,我们只需要添加相应的逻辑即可
下面贴出实现代码(在对应的ViewController中添加如下代码):
#pragma mark - motion refresh
- (BOOL)canBecomeFirstResponder {
return YES;
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@开始摇动);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//振动效果
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@结束摇动);
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@取消);
其中下面代码是为了在摇一摇开始时添加振动效果,需要加入#import
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);很多时候我们遇到的事情并不难,找到正确的方法,往往很容易就解决了。。...
iOS开发摇一摇功能
在我们的iOS里面本身就有实现微信功能摇一摇功能的方法,我们只需要在进行摇一摇 操作时调用相应的方法,就可以了。
//如何实现微信的摇一摇功能
//在 UIResponder中存在这么一套方法
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
//这就是执行摇一摇的方法。那么怎么用这些方法呢?
//很简单,你只需要让这个Controller本身支持摇动
//同时让他成为第一相应者:
- (void)viewDidLoad
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[UIApplicationsharedApplication] setApplicationSupportsShakeToEdit:YES];
[selfbecomeFirstResponder];
//然后去实现那几个方法就可以了
- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
//检测到摇动
- (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
//摇动取消
- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
//摇动结束
if (event.subtype == UIEventSubtypeMotionShake) {
//something happens
没有更多推荐了,}

我要回帖

更多关于 现场摇一摇频率快技巧 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信