Instance Property


The phase of a gesture event, such as a magnify, scroll, or pressure change.


@property(readonly) NSEventPhase phase;


A gesture phase corresponds to a fluid gesture event. As a gesture event occurs, its phase begins with NSEventPhaseBegan and ends with either NSEventPhaseEnded or NSEventPhaseCancelled. All the gesture events are sent to the view under the cursor when the NSEventPhaseBegan occurred.

Technically, a gesture scroll event starts with a NSEventPhaseBegan phase and ends with a NSEventPhaseEnded. However, when the user puts two fingers down on a trackpad, the trackpad issues NSEventPhaseMayBegin, followed by NSEventPhaseBegan, NSEventPhaseCancelled, or NSEventPhaseEnded. The NSEventPhaseMayBegin event phase signals that scrolling is about to begin before the gesture has technically started. A Magic Mouse does not issue NSEventPhaseMayBegin scroll wheel events.

A pressure event (type NSEventTypePressure) is a fluid gesture. Like the other fluid gesture events, it has a phase that describes the sequence of the pressure gesture stream.

Legacy scroll wheel events (say from a Mighty Mouse) and momentum scroll wheel events both have a phase of NSEventPhaseNone. (Legacy scroll wheel events also have a momentumPhase of NSEventPhaseNone.) To learn more about scroll wheel events, see Handling Trackpad Events.

See NSEventPhase for possible values.

See Also

Scroll Wheel and Flick Events


A Boolean value that indicates whether precise scrolling deltas are available.


The scroll wheel’s horizontal delta.


The scroll wheel’s vertical delta.


The momentum phase for a scroll or flick gesture.


Constants that represent the possible phases during an event phase.

- trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:

Allows tracking and user interface feedback of scroll wheel events.


Constants that specify swipe-tracking options.


A Boolean value that indicates whether the user has changed the device inversion.