---
title: NSSegmentedCell
framework: appkit
role: symbol
role_heading: Class
path: appkit/nssegmentedcell
---

# NSSegmentedCell

An NSSegmentedCell object implements the appearance and behavior of a horizontal button divided into multiple segments. This class is used in conjunction with the NSSegmentedControl class to implement a segmented control.

## Declaration

```swift
class NSSegmentedCell
```

## Overview

Overview Use the methods of NSSegmentedCell to customize the attributes of a segmented control. To customize the appearance of individual segments, you can also subclass and override the drawSegment(_:inFrame:with:) method.

## Topics

### Specifying the Number of Segments

- [segmentCount](appkit/nssegmentedcell/segmentcount.md)

### Specifying the Selected Segment

- [setSelected(_:forSegment:)](appkit/nssegmentedcell/setselected(_:forsegment:).md)
- [selectSegment(withTag:)](appkit/nssegmentedcell/selectsegment(withtag:).md)
- [makeNextSegmentKey()](appkit/nssegmentedcell/makenextsegmentkey().md)
- [makePreviousSegmentKey()](appkit/nssegmentedcell/makeprevioussegmentkey().md)
- [selectedSegment](appkit/nssegmentedcell/selectedsegment.md)
- [isSelected(forSegment:)](appkit/nssegmentedcell/isselected(forsegment:).md)

### Specifying the Tracking Mode

- [trackingMode](appkit/nssegmentedcell/trackingmode.md)

### 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)
- [setMenu(_:forSegment:)](appkit/nssegmentedcell/setmenu(_: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)

### Drawing Custom Content

- [drawSegment(_:inFrame:with:)](appkit/nssegmentedcell/drawsegment(_:inframe:with:).md)

### Specifying Segment Visual Styles

- [interiorBackgroundStyle(forSegment:)](appkit/nssegmentedcell/interiorbackgroundstyle(forsegment:).md)
- [segmentStyle](appkit/nssegmentedcell/segmentstyle.md)

## Relationships

### Inherits From

- [NSActionCell](appkit/nsactioncell.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
