---
title: "searchBar(_:shouldChangeTextInRanges:replacementText:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uisearchbardelegate/searchbar(_:shouldchangetextinranges:replacementtext:)"
---

# searchBar(_:shouldChangeTextInRanges:replacementText:)

## Declaration

```swift
optional func searchBar(_ searchBar: UISearchBar, shouldChangeTextInRanges ranges: [NSValue], replacementText: String) -> Bool
```

## Parameters

- `searchBar`: The search bar asking the delegate
- `ranges`: The ranges of the text that should be deleted before replacing
- `replacementText`: The replacement text

## Return Value

Return Value Returns true if the text at the ranges should be replaced.

## Discussion

Discussion Asks the delegate if the text at the specified ranges should be replaced with text. If this method returns YES then the search bar will, at its own discretion, choose any one of the specified ranges of text and replace it with the specified replacementText before deleting the text at the other ranges. If the delegate does not implement this method then the searchBar:shouldChangeTextInRange:replacementText: method will be called and passed the union range instead. If the delegate also does not implement that method then YES is assumed.
