---
title: NSSearchField
framework: appkit
role: symbol
role_heading: Class
path: appkit/nssearchfield
---

# NSSearchField

A text field optimized for performing text-based searches.

## Declaration

```swift
class NSSearchField
```

## Overview

Overview NSSearchField provides a customized text field for entering search data. The class also provides a search button, a cancel button, and a pop-up icon menu for listing recent search strings and custom search categories. An NSSearchField object wraps an NSSearchFieldCell object. The cell provides access to most search field attributes and a comprehensive programmatic interface for manipulating the search field. You can use an NSSearchField object to manipulate some aspects of the search field. For additional information about search fields and how to implement them, see the NSSearchFieldCell class.

## Topics

### Managing Search

- [delegate](appkit/nssearchfield/delegate.md)
- [NSSearchFieldDelegate](appkit/nssearchfielddelegate.md)

### Managing Menu Templates

- [searchMenuTemplate](appkit/nssearchfield/searchmenutemplate.md)
- [clearRecentsMenuItemTag](appkit/nssearchfield/clearrecentsmenuitemtag.md)
- [noRecentsMenuItemTag](appkit/nssearchfield/norecentsmenuitemtag.md)
- [recentsMenuItemTag](appkit/nssearchfield/recentsmenuitemtag.md)
- [recentsTitleMenuItemTag](appkit/nssearchfield/recentstitlemenuitemtag.md)

### Managing Search Modes

- [sendsSearchStringImmediately](appkit/nssearchfield/sendssearchstringimmediately.md)
- [sendsWholeSearchString](appkit/nssearchfield/sendswholesearchstring.md)

### Managing Recent Searches

- [recentSearches](appkit/nssearchfield/recentsearches.md)
- [maximumRecents](appkit/nssearchfield/maximumrecents.md)
- [recentsAutosaveName](appkit/nssearchfield/recentsautosavename-swift.property.md)
- [NSSearchField.RecentsAutosaveName](appkit/nssearchfield/recentsautosavename-swift.typealias.md)

### Getting Search Field Metrics

- [cancelButtonBounds](appkit/nssearchfield/cancelbuttonbounds.md)
- [searchButtonBounds](appkit/nssearchfield/searchbuttonbounds.md)
- [searchTextBounds](appkit/nssearchfield/searchtextbounds.md)

### Deprecated Symbols

- [centersPlaceholder](appkit/nssearchfield/centersplaceholder.md)
- [rectForCancelButton(whenCentered:)](appkit/nssearchfield/rectforcancelbutton(whencentered:).md)
- [rectForSearchButton(whenCentered:)](appkit/nssearchfield/rectforsearchbutton(whencentered:).md)
- [rectForSearchText(whenCentered:)](appkit/nssearchfield/rectforsearchtext(whencentered:).md)

## Relationships

### Inherits From

- [NSTextField](appkit/nstextfield.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)
- [NSAccessibilityNavigableStaticText](appkit/nsaccessibilitynavigablestatictext.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSAccessibilityStaticText](appkit/nsaccessibilitystatictext.md)
- [NSAnimatablePropertyContainer](appkit/nsanimatablepropertycontainer.md)
- [NSAppearanceCustomization](appkit/nsappearancecustomization.md)
- [NSCoding](foundation/nscoding.md)
- [NSDraggingDestination](appkit/nsdraggingdestination.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTextContent](appkit/nstextcontent.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [NSUserInterfaceValidations](appkit/nsuserinterfacevalidations.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
