91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[IOS]陀螺儀和加速儀編程

發布時間:2020-10-14 07:01:14 來源:網絡 閱讀:479 作者:蓬萊仙羽 欄目:移動開發

如何實現iPhone的重力感應還有旋轉感應,也就是術語上的陀螺儀和加速器?下面我們來用一個簡單的Demo入門一下吧!

由于模擬器上不能運行這個,所以只能貼出代碼,沒有截圖。

ViewController.h:

#import <UIKit/UIKit.h> @interface BIDViewController : UIViewController<UIAccelerometerDelegate> @property (weak, nonatomic) IBOutlet UILabel *accelerometerLabel; @property (weak, nonatomic) IBOutlet UILabel *gyroscopeLabel; @end

ViewController.m:

#import "BIDViewController.h" #import <CoreMotion/CoreMotion.h>  @interface BIDViewController () @property (strong, nonatomic) CMMotionManager *motionManager; @property (strong, nonatomic) NSOperationQueue *queue; @end  @implementation BIDViewController  - (NSUInteger)supportedInterfaceOrientations {     return UIInterfaceOrientationMaskPortrait; }  - (void)viewDidLoad {     [super viewDidLoad]; 	// Do any additional setup after loading the view, typically from a nib.          self.motionManager = [[CMMotionManager alloc] init];     self.queue = [[NSOperationQueue alloc] init];          if (self.motionManager.accelerometerAvailable) {                  self.motionManager.accelerometerUpdateInterval = 1.0 / 10.0;                  [self.motionManager startAccelerometerUpdatesToQueue:self.queue                                                  withHandler:          ^(CMAccelerometerData *accelerometerData, NSError *error) {                           NSString *labelText;             labelText = [NSString stringWithFormat:                         @"Accelerometer\n-----------\nx: %+.2f\ny: %+.2f\nz: %+.2f",                         accelerometerData.acceleration.x,                         accelerometerData.acceleration.y,                         accelerometerData.acceleration.z];              NSLog(@"%@",labelText);           }];     } else {         self.accelerometerLabel.text = @"This device has no accelerometer.";     }     if (self.motionManager.gyroAvailable) {         self.motionManager.gyroUpdateInterval = 1.0 / 10.0;         [self.motionManager startGyroUpdatesToQueue:self.queue withHandler:          ^(CMGyroData *gyroData, NSError *error) {                            NSString *labelText;             labelText = [NSString stringWithFormat:                         @"Gyroscope\n--------\nx: %+.2f\ny: %+.2f\nz: %+.2f",                         gyroData.rotationRate.x,                         gyroData.rotationRate.y,                         gyroData.rotationRate.z];              NSLog(@"%@",labelText);           }];     } else {         self.gyroscopeLabel.text = @"This device has no gyroscope";     } }   @end

切記要導入CoreMotion.framework框架

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁海县| 三原县| 万年县| 乌什县| 故城县| 福建省| 沛县| 彭水| 天全县| 新安县| 山阴县| 芒康县| 黄石市| 兰坪| 大悟县| 铁力市| 凤翔县| 宣化县| 霞浦县| 甘德县| 镇江市| 磐安县| 桃源县| 遂宁市| 若羌县| 盈江县| 井研县| 衢州市| 芷江| 曲麻莱县| 上蔡县| 娄底市| 塔河县| 洪江市| 南靖县| 城步| 哈巴河县| 南雄市| 肥城市| 东乌珠穆沁旗| 成都市|