嘿,伙计们,如果我是个新手,很抱歉,我已经环顾了四周,但还不知道该怎么做。基本上,我想使用iphone的加速计切换视图。例如,如果iphone掉了,动作会触发它切换到另一个视图,告诉用户手机掉了。任何关于如何做的帮助都将不胜感激,谢谢。
发布于 2011-04-07 01:10:23
可以使用UIAccelerometer类读取加速度计,该类向其UIAccelerometerDelegate协议委托调用加速度计的值。这意味着:
H文件:
@interface TestView: UIViewController <UIAccelerometerDelegate> {
UIAccelerometer *accelerometer;
}
@property (nonatomic, retain) UIAccelerometer *accelerometer;
@end在m文件中:
- (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左右?您可以自己尝试不同的值。
希望这能有所帮助!
https://stackoverflow.com/questions/5569372
复制相似问题