Кнопка отмены контроллера UIS не работает

class PlaceSelectorViewController: UIViewController, GMSAutocompleteResultsViewControllerDelegate, UISearchBarDelegate, UISearchControllerDelegate {

У меня есть UISearchBarDelegate в моем классе

searchController?.searchBar.delegate = self

и я поставил делегата на себя.

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    stopHighlight()
}

Но этот вызов делегата не работает

1 ответ

Решение

Вам нужен outleet для вашего UISearchBar (при условии, что вы работаете с раскадровкой, это действительно просто, просто перетащите с помощью помощника редактора). и это то, что вы собираетесь добавить делегата. Если вы создали программно, то эта переменная будет назначена делегату.

Вот пример кода для раскадровки

@IBOutlet weak var searchBar: UISearchBar! (вы должны увидеть заполненный круг справа от этого, в противном случае нет никакой связи между раскадровкой и этой розеткой)

...

override func viewDidLoad() { super.viewDidLoad() searchBar.delegate = self }

Другие вопросы по тегам