An instance of the UIAcceleration class, called an acceleration event, represents immediate, three-dimensional acceleration data. To receive accelerometer events, register an application object as a delegate of the shared UIAccelerometer object, as described in UIAccelerometer.


Each acceleration event includes simultaneous acceleration readings along the three axes of the device, as shown in Figure 1.

Figure 1

Orientation of the device axes

Orientation of the device axes

The device accelerometer reports values for each axis in units of g-force, where a value of 1.0 represents acceleration of about +1 g along a given axis. When a device is laying still with its back on a horizontal surface, each acceleration event has approximately the following values:

x: 0
y: 0
z: -1

Individual acceleration values are of type UIAcceleration​Value, equivalent to a double. Values can range over the accelerations found in normal use of a device.

If you want to detect specific types of motion as gestures—specifically, shaking motions—use the UIEvent class and its UIEvent​Type​Motion event type. For details, see Handling Tap and Long-Press Gestures in Event Handling Guide for UIKit Apps.


Accessing the Acceleration Values


The acceleration value for the x axis of the device.


The acceleration value for the y axis of the device.


The acceleration value for the z axis of the device.


The relative time at which the acceleration event occurred.



The amount of acceleration in a single linear direction.


Inherits From