2016-01-04 2 views
1

Я пытаюсь выполнить поиск в моем SWIFT-коде. Я хочу, чтобы он подождал, пока кнопка поиска не будет нажата, прежде чем она что-нибудь сделает. Что я до сих пор.Как заставить UISearchController дождаться нажатия на поиск

func updateSearchResultsForSearchController(searchController: UISearchController) 
{ 
    self.filteredCats.removeAll(keepCapacity: false) 
    filteredCats = art.filter{ 
     $0.sarticleTitle.lowercaseString.rangeOfString(searchController.searchBar.text!.lowercaseString) != nil 
    } 
     print(searchController.searchBar.text) 
     self.tableView.reloadData() 
} 

Он распечатывает всю информацию после того, как пользователь что-то наберет. Я хочу, чтобы он дождался нажатия кнопки поиска или когда пользователь закончил набирать все.

ответ

3

Вы должны установить делегат, как этот ваш контроллер представления.

var resultSearchController = UISearchController() 
resultSearchController.searchBar.delegate = self 

extension ViewController: UISearchBarDelegate { 
    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { 
     print("search button click") 
    } 
} 
2

Используй UISearchBarDelegate метод searchBarSearchButtonClicked(_:)Reference

class MySearchController:UISearchController, UISearchBarDelegate { 

    override init(searchResultsController: UIViewController?) { 
     super.init(searchResultsController: searchResultsController) 
     // Set the searchbar delegate 
     self.searchBar.delegate = self 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    func searchBarSearchButtonClicked(searchBar: UISearchBar) { 
     // Start the search 
    } 

} 

Важен, убедитесь, что вы скажите UISearchBar, что вы хотите UISearchController быть это делегат, выше маркированный проверенным пример, ваши точные инициализации могут отличаться.

0

реализовать "searchController.searchBar.delegate" & "searchBarSearchButtonClicked" метод

self.searchController.searchBar.delegate = self; 

func searchBarSearchButtonClicked(searchBar: UISearchBar) { 
    //enter your search code 
} 
Смежные вопросы