---
title: NSDrawerDelegate
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nsdrawerdelegate
---

# NSDrawerDelegate

A set of methods that drawer delegates implement to open, close, and resize the drawer.

## Declaration

```swift
protocol NSDrawerDelegate : NSObjectProtocol
```

## Topics

### Opening and Closing Drawers

- [drawerShouldOpen(_:)](appkit/nsdrawerdelegate/drawershouldopen(_:).md)
- [drawerWillOpen(_:)](appkit/nsdrawerdelegate/drawerwillopen(_:).md)
- [drawerDidOpen(_:)](appkit/nsdrawerdelegate/drawerdidopen(_:).md)
- [drawerShouldClose(_:)](appkit/nsdrawerdelegate/drawershouldclose(_:).md)
- [drawerWillClose(_:)](appkit/nsdrawerdelegate/drawerwillclose(_:).md)
- [drawerDidClose(_:)](appkit/nsdrawerdelegate/drawerdidclose(_:).md)

### Managing Drawer Size

- [drawerWillResizeContents(_:to:)](appkit/nsdrawerdelegate/drawerwillresizecontents(_:to:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Protocols

- [NSAccessibility](appkit/nsaccessibility.md)
- [NSEditorRegistration](appkit/nseditorregistration.md)
- [NSInputServiceProvider](appkit/nsinputserviceprovider.md)
- [NSInputServerMouseTracker](appkit/nsinputservermousetracker.md)
