首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UIAccelerometer切换视图

使用UIAccelerometer切换视图
EN

Stack Overflow用户
提问于 2011-04-06 23:55:39
回答 1查看 292关注 0票数 0

嘿,伙计们,如果我是个新手,很抱歉,我已经环顾了四周,但还不知道该怎么做。基本上,我想使用iphone的加速计切换视图。例如,如果iphone掉了,动作会触发它切换到另一个视图,告诉用户手机掉了。任何关于如何做的帮助都将不胜感激,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-07 01:10:23

可以使用UIAccelerometer类读取加速度计,该类向其UIAccelerometerDelegate协议委托调用加速度计的值。这意味着:

H文件:

代码语言:javascript
复制
@interface TestView: UIViewController <UIAccelerometerDelegate> {
  UIAccelerometer *accelerometer;
}

@property (nonatomic, retain) UIAccelerometer *accelerometer;

@end

在m文件中:

代码语言:javascript
复制
- (void)viewDidLoad {
  [super viewDidLoad];

  self.accelerometer = [UIAccelerometer sharedAccelerometer];
  self.accelerometer.updateInterval = .1;
  self.accelerometer.delegate = self;
}

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {     
  float aX = ABS(acceleration.x);
  float aY = ABS(acceleration.y);
  float aZ = ABS(acceleration.z);
  if(sqrt(aX*aX+aY*aY+aZ*aZ)>THRESHOLD){
     //Load new view here      
  }
}

您可以选择阈值为您想要的任何值。这意味着加速度矢量的长度超过了一定的值。我认为如果没有移动,这个值通常在1左右,如果有一些移动,这个值会更高。我建议将其设置为1.5左右?您可以自己尝试不同的值。

希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5569372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档