UISearchBar не должен отклонять навигационный контроллер - PullRequest
0 голосов
/ 02 декабря 2018

Я создаю приложение для iOS и получаю UITableViewController с UISearchController [2], выполнив следующий переход с другого контроллера представления [1]:

let search = UITableViewController()
let nav = UINavigationController(rootViewController: search)
self.present(nav, animated:true, completion:nil)

Однако, когда я нажимаю кнопку «Отмена» в [2], приложение выскакивает весь контроллер навигации и возвращается к просмотру [1]!Как мне заставить его просто отменить поиск вместо того, чтобы выкинуть весь навигационный контроллер?Я чувствую, что это должно быть поведение по умолчанию, и я что-то упускаю.

1 Ответ

0 голосов
/ 02 декабря 2018

Не понимаю, почему ты удивлен.Вы говорите present, чтобы создать модальный (представленный) контроллер представления, состоящий из контроллера навигации и таблицы:

let nav = UINavigationController(rootViewController: search)
self.present(nav, animated:true, completion:nil)

То, чем вы являетесь present -ing, является nav, контроллером навигации.Так что обратного?Это dismiss, где то, что вы есть dismiss -ing * nav.Так что я бы ожидал, что контроллер навигации исчезнет в конце.

Реальная проблема здесь, вероятно, в том, что вы делаете совсем не так, как используете UISearchController.Контроллер поиска - это сам контроллер представления, а it должен представить представление таблицы результатов.Вы просто не обращаетесь с этим правильно, чтобы заставить это сделать это.Вы ничего не показали о вашем поисковом контроллере и его конфигурации, поэтому невозможно помочь с дальнейшими подробностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...