日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 重力感应之箭头指向重力方向

發布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS 重力感应之箭头指向重力方向 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


關于CoreMotion的blog有很多,也有講特別詳細的,這里就示范一個特別有用的CoreMotion的簡單用法:重力方向的感應,一分鐘get方法

它看起來是這樣的:

這是在手機上運行的,隨著手機屏幕方向的不斷變化,箭頭始終指向地心引力的方向。嗯,就是這樣。


首先導入相關頭文件:?#import <CoreMotion/CoreMotion.h>

arrowImageView 是屏幕中間的那個顯示箭頭的imageView


@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.CMMotionManager *motionManager = [[CMMotionManager alloc]init];if (!motionManager.accelerometerAvailable) {// fail code // 檢查傳感器到底在設備上是否可用}motionManager.accelerometerUpdateInterval = 0.01; // 告訴manager,更新頻率是100Hz/* 加速度傳感器開始采樣,每次采樣結果在block中處理 */// 開始更新,后臺線程開始運行。[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error){CMAccelerometerData *newestAccel = motionManager.accelerometerData;double accelerationX = newestAccel.acceleration.x;double accelerationY = newestAccel.acceleration.y;double ra = atan2(-accelerationY, accelerationX); // 返回值的單位為弧度double degree = ra * 180 / M_PI;NSLog(@"----- %f ----", degree);self.arrowImageView.transform = CGAffineTransformMakeRotation(ra + M_PI_2);}];}@end
代碼地址在這里:代碼



總結

以上是生活随笔為你收集整理的iOS 重力感应之箭头指向重力方向的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。