中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

[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

福泉市| 中阳县| 烟台市| 长春市| 肇州县| 双峰县| 湟源县| 武乡县| 徐水县| 育儿| 彭山县| 乐昌市| 黑河市| 涞源县| 重庆市| 开阳县| 分宜县| 东丽区| 嵊州市| 那坡县| 乌苏市| 鄂伦春自治旗| 巩义市| 大宁县| 阳新县| 时尚| 新沂市| 阳江市| 阿拉善右旗| 桓台县| 郓城县| 安多县| 开封县| 淅川县| 东至县| 吉安市| 阳原县| 城固县| 新津县| 桦甸市| 临高县|