如果我们倾斜设备,我正在尝试更改UILabel值,为此我正在尝试实现CMMotionManager,但它对我不起作用,这是我正在使用的代码,
我在库中添加了CoreMotion。
#import <CoreMotion/CoreMotion.h>
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
motionManager.accelerometerUpdateInterval = .2;
[motionManager startAccelerometerUpdates];
if ([motionManager isAccelerometerAvailable] == YES)
{
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue setMaxConcurrentOperationCount:1];
[motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *data, NSError *error)
{
CMAcceleration acceleration = data.acceleration;
if(acceleration.y < -0.25) { // tilting the device to the right
[self setTextforlabel:@"right"];
} else if (acceleration.y > 0.25) { // tilting the device to the left
[self setTextforlabel:@"left"];
}
}];
}
这里的问题是什么,isAccelerometerAvailable
总是错误的并且
startAccelerometerUpdatesToQueue
不会在中开火
有人能帮我做这个吗?或者有其他方法可以做倾斜设备吗。
您是在设备上运行还是在刺激器中运行?中的加速计不工作