В viewDidLoad
моего пользовательского подкласса UITableViewController
, я поставил navigationItem.titleView
к searchBar
о наличии UISearchController
, который я инициализируется с nil
для searchResultsController
.UISearchController очищает UISearchBar текст, когда уволенный
Когда я нахожусь в строке поиска, введите текст и коснитесь скрытого содержимого, затем UISearchController
деактивируется (как и ожидалось), и текст поиска, который я ввела, очищается (неожиданно).
Текст поиска также очищается (также неожиданно), когда я явно (программно) установил, что контроллер поиска неактивен. Чтобы обойти это, я сохраняю текст поиска до и устанавливаю его после отклонения контроллера поиска. Хотя он взломан, он работает.
let searchText = searchBar.text // #hack
searchController.isActive = false
searchBar.text = searchText // #hack
Для когда контроллер поиска автоматически убирается, я пытался что-то подобное с использованием UISearchControllerDelegate
методов, то есть, сохраняя текст поиска в willDismissSearchController(_:)
и установить его обратно в didDismissSearchController(_:)
. Но это решение по-прежнему показывает, что текст поиска очищается, а затем возвращается к тому, что было раньше.
Как легко сохранить текст в строке поиска, как это происходит при автоматическом отклонении контроллера поиска?
uisearchbar delegate. – aircraft
Как делегат панели поиска не позволит контроллеру поиска очистить свой текст? – ma11hew28
Метод делегата uisearchbar у меня есть демо, но теперь я не рядом с компьютером – aircraft