您的位置:首页 > 其它

CMDeviceMotion使用

2015-08-12 18:30 423 查看

CMDeviceMotion使用

by 吴雪莹

manager = [[CMMotionManager alloc] init];
ViewController *__weak weakSelf=self;
// 1
if(manager.deviceMotionAvailable){
manager.deviceMotionUpdateInterval=0.01f;
[manager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMDeviceMotion*data,NSError*error){
double rotation=atan2(data.gravity.x,data.gravity.y)-M_PI;
weakSelf.imageView.transform=CGAffineTransformMakeRotation(rotation);
}];
}
// 2
NSOperationQueue *queue = [[NSOperationQueue alloc] init];[manager startDeviceMotionUpdatesToQueue:queue
withHandler:^(CMDeviceMotion *data, NSError *error) {

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
double rotation=atan2(data.gravity.x,data.gravity.y)-M_PI;
weakSelf.imageView.transform=CGAffineTransformMakeRotation(rotation);
}];
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: