<!--
{
  "availability" : [
    "macOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSStatusItem/expandedInterfaceDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSStatusItem(py)expandedInterfaceDelegate"
  },
  "title" : "expandedInterfaceDelegate"
}
-->

# expandedInterfaceDelegate

The delegate that manages the lifecycle of the status item’s expanded interface.

```
weak var expandedInterfaceDelegate: (any NSStatusItemExpandedInterfaceDelegate)? { get set }
```

## Discussion

Status items that assign an [`NSMenu`](/documentation/AppKit/NSMenu) to their button don’t receive expanded interface callbacks — the system handles the expanded menu interface automatically. The delegate shows the expanded interface, such as an [`NSWindow`](/documentation/AppKit/NSWindow) positioned beneath the status item, in response to [`statusItem(_:didBegin:)`](/documentation/AppKit/NSStatusItemExpandedInterfaceDelegate/statusItem(_:didBegin:)), and dismisses the interface in response to [`statusItemDidEndExpandedInterfaceSession(_:animated:)`](/documentation/AppKit/NSStatusItemExpandedInterfaceDelegate/statusItemDidEndExpandedInterfaceSession(_:animated:)).

---

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)