---
title: "menu(contents:)"
framework: AVKit
role: symbol
role_heading: Instance Method
platforms: [iOS 26.4+, iPadOS 26.4+, Mac Catalyst 26.4+, macOS 26.4+, visionOS 26.4+]
path: "avkit/avlegiblemediaoptionsmenucontroller/menu(contents:)"
---

# menu(contents:)

## Declaration

```swift
func menu(contents: AVLegibleMediaOptionsMenuController.MenuContents = []) -> UIMenu?
```

```swift
func menu(contents: AVLegibleMediaOptionsMenuController.MenuContents = []) -> NSMenu?
```

## Parameters

- `contents`: A set of values from the AVLegibleMediaOptionsMenuContents

## Return Value

Return Value A NSMenu ready to be presented by the client, or nil if the menu cannot be built

## Discussion

Discussion Builds a legible options menu using the specified contents. Returns nil if the requested menu type cannot be built due to missing content (e.g., requesting track selection without a player).

## See Also

### Managing the menu

- [menuState](avkit/avlegiblemediaoptionsmenucontroller/menustate.md)
- [AVLegibleMediaOptionsMenuController.MenuContents](avkit/avlegiblemediaoptionsmenucontroller/menucontents.md)
- [AVLegibleMediaOptionsMenuState](avkit/avlegiblemediaoptionsmenustate.md)
- [AVLegibleMediaOptionsMenuController.StateChangeReason](avkit/avlegiblemediaoptionsmenucontroller/statechangereason.md)
