iOS加速度感測器(accelerometer)


簡介

加速度感測器是根據x、y和z三個方向來檢測在裝置位置的改變。

通過加速度感測器可以知道當前裝置相對於地面的位置。

以下例項程式碼需要在真實裝置上執行,在模擬器上是無法工作的。

例項步驟

1、建立一個簡單的檢視應用程式

2、在ViewController.xib中新增三個標籤,並建立一個ibOutlets分別為:xlable、ylabel和zlabel

3、如下所示,更新ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIAccelerometerDelegate>
{
    IBOutlet UILabel *xlabel;
    IBOutlet UILabel *ylabel;
    IBOutlet UILabel *zlabel;

}
@end

4、如下所示,更新ViewController.m

#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

輸出

當我們在iPhone裝置中執行該應用程式,得到的輸出結果如下所示。

accelerometer_Output