Я пытаюсь реализовать метод в XCode, называемый «shouldHideSearchKeyboard», который просто скрывает клавиатуру при нажатии клавиши возврата. Проблема в том, что не только не вызывается функция resignFirstResponder (), но и вовсе не вызывается shouldHideSearchKeyboard, что указывает на серьезную ошибку. Я смущен этим, так как (1) я попробовал каждое решение по этой проблеме, предложенное на веб-сайте, и (2) я реализовал точно такую же функцию, за исключением текстовых полей без проблем.
Спасибо!
Я дважды проверил, чтобы убедиться, что UISearchBarDelegate был добавлен в мой класс SearchTab, включил UISearchBar в качестве параметра в метод, сделал вывод IB, соединяющий панель поиска с моим кодом, и установив делегат выхода равным самостоятельно. Тем не менее, mustHideSearchkeyboard никогда не вызывается.
@IBOutlet weak var IB_SearchBar: UISearchBar!
class SearchTab: UIViewController, UISearchBarDelegate {
override func viewDidLoad()
{
super.viewDidLoad()
self.IB_SearchBar.delegate = self
}
func hideSearchBarKeyboard(_ searchBar: UISearchBar) -> Bool
{
// Neither resignation nor print statement gets called
searchBar.resignFirstResponder()
print("Search bar entry")
return true
}
}