---
title: UISearchBarDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uisearchbardelegate
---

# UISearchBarDelegate

A collection of optional methods that you implement to make a search bar control functional.

## Declaration

```swift
@MainActor protocol UISearchBarDelegate : UIBarPositioningDelegate
```

## Overview

Overview A UISearchBar object provides the user interface for a search field on a bar, but it’s the application’s responsibility to implement the actions when buttons are tapped. At a minimum, the delegate needs to perform the actual search when text is entered in the text field.

## Topics

### Managing the search text

- [searchBar(_:textDidChange:)](uikit/uisearchbardelegate/searchbar(_:textdidchange:).md)
- [searchBar(_:shouldChangeTextIn:replacementText:)](uikit/uisearchbardelegate/searchbar(_:shouldchangetextin:replacementtext:).md)
- [searchBarShouldBeginEditing(_:)](uikit/uisearchbardelegate/searchbarshouldbeginediting(_:).md)
- [searchBarTextDidBeginEditing(_:)](uikit/uisearchbardelegate/searchbartextdidbeginediting(_:).md)
- [searchBarShouldEndEditing(_:)](uikit/uisearchbardelegate/searchbarshouldendediting(_:).md)
- [searchBarTextDidEndEditing(_:)](uikit/uisearchbardelegate/searchbartextdidendediting(_:).md)

### Responding to clicks in search controls

- [searchBarBookmarkButtonClicked(_:)](uikit/uisearchbardelegate/searchbarbookmarkbuttonclicked(_:).md)
- [searchBarCancelButtonClicked(_:)](uikit/uisearchbardelegate/searchbarcancelbuttonclicked(_:).md)
- [searchBarSearchButtonClicked(_:)](uikit/uisearchbardelegate/searchbarsearchbuttonclicked(_:).md)
- [searchBarResultsListButtonClicked(_:)](uikit/uisearchbardelegate/searchbarresultslistbuttonclicked(_:).md)

### Responding to scope button changes

- [searchBar(_:selectedScopeButtonIndexDidChange:)](uikit/uisearchbardelegate/searchbar(_:selectedscopebuttonindexdidchange:).md)

### Instance Methods

- [searchBar(_:shouldChangeTextInRanges:replacementText:)](uikit/uisearchbardelegate/searchbar(_:shouldchangetextinranges:replacementtext:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [UIBarPositioningDelegate](uikit/uibarpositioningdelegate.md)

## See Also

### Handling search bar interactions

- [delegate](uikit/uisearchbar/delegate.md)
