<!--
{
  "availability" : [
    "macOS: 10.7.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSEvent/phase-swift.property",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSEvent(py)phase"
  },
  "title" : "phase"
}
-->

# phase

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

```
var phase: NSEvent.Phase { get }
```

## Discussion

A gesture phase corresponds to a fluid gesture event. As a gesture event occurs, its phase begins with [`began`](/documentation/AppKit/NSEvent/Phase-swift.struct/began) and ends with either [`ended`](/documentation/AppKit/NSEvent/Phase-swift.struct/ended) or [`cancelled`](/documentation/AppKit/NSEvent/Phase-swift.struct/cancelled). All the gesture events are sent to the view under the cursor when the [`began`](/documentation/AppKit/NSEvent/Phase-swift.struct/began) occurred.

Technically, a gesture scroll event starts with a [`began`](/documentation/AppKit/NSEvent/Phase-swift.struct/began) phase and ends with a [`ended`](/documentation/AppKit/NSEvent/Phase-swift.struct/ended). However, when the user puts two fingers down on a trackpad, the trackpad issues [`mayBegin`](/documentation/AppKit/NSEvent/Phase-swift.struct/mayBegin), followed by [`began`](/documentation/AppKit/NSEvent/Phase-swift.struct/began), [`cancelled`](/documentation/AppKit/NSEvent/Phase-swift.struct/cancelled), or [`ended`](/documentation/AppKit/NSEvent/Phase-swift.struct/ended). The [`mayBegin`](/documentation/AppKit/NSEvent/Phase-swift.struct/mayBegin) event phase signals that scrolling is about to begin before the gesture has technically started. A Magic Mouse does not issue [`mayBegin`](/documentation/AppKit/NSEvent/Phase-swift.struct/mayBegin) scroll wheel events.

A pressure event (type [`NSEvent.EventType.pressure`](/documentation/AppKit/NSEvent/EventType/pressure)) 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`](/documentation/AppKit/NSEventPhase/NSEventPhaseNone). (Legacy scroll wheel events also have a [`momentumPhase`](/documentation/AppKit/NSEvent/momentumPhase) of [`NSEventPhaseNone`](/documentation/AppKit/NSEventPhase/NSEventPhaseNone).) For more information, see [`momentumPhase`](/documentation/AppKit/NSEvent/momentumPhase).

See [`NSEvent.Phase`](/documentation/AppKit/NSEvent/Phase-swift.struct) for possible values.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)