В Android Search View не будет скрываться, пока вы не нажмете кнопку закрытия («X»), что имеет смысл
Но в iOS, если вы нажмете где-нибудь (например, в центре экрана), строка поиска скрывается автоматически, а func searchBarCancelButtonClicked(_ searchBar: UISearchBar)
даже не вызывается, потому что вы не нажали кнопку отмены, вы просто нажали в другом месте
И результаты этого последнего поиска по-прежнему отображаются, и когда вы снова нажимаете значок элемента поиска, текстовое поле панели поиска становится пустым, и это действительно не имеет смысла
Поэтому я хочу предотвратить скрытие панели поиска до тех пор, пока пользователь не нажмет кнопку отмены (только кнопка отмены должна иметь возможность закрыть панель поиска)
Обновление
Кажется, я нашел решение:
searchController.dimsBackgroundDuringPresentation = false
Но название этого свойства тоже не имеет никакого смысла, потому что речь идет не только о затемнении фона, оно имеет две функции:
- затемняет фон
- контролирует, должна ли быть скрыта строка поиска при нажатии какой-либо другой
место