با عرض سلام خدمت کاربران سایت پی وی لرن ،و کاربرانی که آموزش دوره iOS را دنبال می کنند.این جلسه کاربرد شتاب سنج در iOS را آموزش می دهیم. شتاب سنج در iOS برای تشخیص تغییرات در موقعیت دستگاه در سه جهت x، y و z استفاده می شود. ما می توانیم موقعیت فعلی دستگاه نسبت به زمین را بدانیم. برای آزمایش این مثال، شما باید آن را بر روی یک دستگاه اجرا کنید و روی شبیه ساز کار نکنید.
شتاب سنج تغییرات در سرعت در یک محور را اندازه گیری می کند. هر دستگاه iOS دارای شتاب سنج سه محور است که مقدار شتاب را در هر یک از سه محور که در شکل بالا نشان داده شده است، ارائه می دهد.مقدار شتاب بسته به جهت شتاب، ممکن است مثبت یا منفی باشد.
مراحل مرتبط با شتاب سنج
مرحله ۱ : در ایتدا یک برنامه simple View را ایجاد کنید.
مرحله ۲ : سه برچسب را در ViewController.xib اضافه کنید و ibOutlets را به نام xlabel، ylabel و zlabel نام گذاری کنید.
مرحله ۳ : به روز رسانی ViewController.h که به شرح زیر است :
1 2 3 4 5 6 7 8 | #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIAccelerometerDelegate> { IBOutlet UILabel *xlabel; IBOutlet UILabel *ylabel; IBOutlet UILabel *zlabel; } @end |
مرحله ۴ : به روز رسانی ViewController.m که به شرح زیر است :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [[UIAccelerometer sharedAccelerometer]setDelegate:self]; //Do any additional setup after loading the view,typically from a nib } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate: (UIAcceleration *)acceleration { [xlabel setText:[NSString stringWithFormat:@"%f",acceleration.x]]; [ylabel setText:[NSString stringWithFormat:@"%f",acceleration.y]]; [zlabel setText:[NSString stringWithFormat:@"%f",acceleration.z]]; } @end |
وقتی ما برنامه را در دستگاه آیفون اجرا میکنیم، خروجی زیر را دریافت و تشخیص تغییرات در موقعیت را مشاهده میکنیم:
به داده های شتاب سنج خام با استفاده از کلاس های Core Motion می توانید دسترسی پیدا کنید.
به طور خاص، کلاس CMMotionManager اینترفیس ها را برای فعال کردن سخت افزار شتاب سنج فراهم می کند.
قبل از اینکه این سخت افزار را فعال کنید، همیشه مقدار صفات موجودی Accalerometer را بررسی کنید تا مطمئن شوید که شتاب سنج برای شما مناسب است.
وقتی سخت افزار را فعال کنید، رابطهای را انتخاب کنید که برای برنامه شما مناسب هستند.
می توانید از چارچوب برای به روز رسانی برنامه خود در فواصل منظم استفاده کنید.