---
title: "setMenu(_:forSegment:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nssegmentedcell/setmenu(_:forsegment:)"
---

# setMenu(_:forSegment:)

Sets the menu for the specified segment.

## Declaration

```swift
func setMenu(_ menu: NSMenu?, forSegment segment: Int)
```

## Parameters

- `menu`: The menu you want to add to the segment or nil to clear the current menu. This menu is displayed when the user clicks and holds the mouse button while the mouse is over the segment.
- `segment`: The index of the segment whose menu you want to set. This method raises an exception (doc://com.apple.documentation/documentation/Foundation/NSExceptionName/rangeException) if the index is out of bounds.

## Discussion

Discussion Adding a menu to a segment allows that segment to be used as a pop-up button.

## See Also

### Configuring Individual Segments

- [setLabel(_:forSegment:)](appkit/nssegmentedcell/setlabel(_:forsegment:).md)
- [label(forSegment:)](appkit/nssegmentedcell/label(forsegment:).md)
- [setImage(_:forSegment:)](appkit/nssegmentedcell/setimage(_:forsegment:).md)
- [image(forSegment:)](appkit/nssegmentedcell/image(forsegment:).md)
- [setImageScaling(_:forSegment:)](appkit/nssegmentedcell/setimagescaling(_:forsegment:).md)
- [imageScaling(forSegment:)](appkit/nssegmentedcell/imagescaling(forsegment:).md)
- [setWidth(_:forSegment:)](appkit/nssegmentedcell/setwidth(_:forsegment:).md)
- [width(forSegment:)](appkit/nssegmentedcell/width(forsegment:).md)
- [setEnabled(_:forSegment:)](appkit/nssegmentedcell/setenabled(_:forsegment:).md)
- [isEnabled(forSegment:)](appkit/nssegmentedcell/isenabled(forsegment:).md)
- [menu(forSegment:)](appkit/nssegmentedcell/menu(forsegment:).md)
- [setToolTip(_:forSegment:)](appkit/nssegmentedcell/settooltip(_:forsegment:).md)
- [toolTip(forSegment:)](appkit/nssegmentedcell/tooltip(forsegment:).md)
- [setTag(_:forSegment:)](appkit/nssegmentedcell/settag(_:forsegment:).md)
- [tag(forSegment:)](appkit/nssegmentedcell/tag(forsegment:).md)
