Instance Property


The force of the touch, where a value of 1.0 represents the force of an average touch (predetermined by the system, not user-specific).


@property(nonatomic, readonly) CGFloat force;


This property is available on devices that support 3D Touch or Apple Pencil. To check at runtime if a device supports 3D Touch, read the value of the forceTouchCapability property on the trait collection for any object in your app with a trait environment.

The force reported by Apple Pencil is measured along the axis of the pencil. If you want a force perpendicular to the device, you need to calculate this value using the altitudeAngle value.

The force reported by Apple Pencil is estimated at first, and may not always be updated. To determine if an update is expected, consult estimatedPropertiesExpectingUpdates and look for a UITouchPropertyForce flag. In this scenario, estimationUpdateIndex contains a non-nil value, which you can correlate with the original touch when the update occurs. When there are no expected force updates, the entire touch sequence usually won't have updates, so it may be appropriate to apply a custom, tool-specific force curve to the touch sequence.

See Also

Getting Touch Attributes


The number of times the finger was tapped for this given touch.


The time when the touch occurred or when it was last mutated.


The type of the touch.


The type of touch received.


The phase of the touch.


The phase of a finger touch.


The maximum possible force for a touch.


The altitude (in radians) of the stylus.

- azimuthAngleInView:

Returns the azimuth angle (in radians) of the stylus.

- azimuthUnitVectorInView:

Returns a unit vector that points in the direction of the azimuth of the stylus.