zachenn
zachenn

Reputation: 115

searchBarSearchButtonClicked is not being detected

I have set up a search bar using the embed nav bar. The func searchBarSearchButtonClicked is not being detected. I'd like to make it so that when the user taps on the search bar, another function will be called. I've taken out some extraneous code not relevant to this question. What could be the issue?

class FirstViewController: UIViewController, UISearchBarDelegate {  

var resultSearchController: UISearchController? = nil                       

    override func viewDidLoad() {
    super.viewDidLoad()

    // set up the search results table
    let locationSearchTable = storyboard!.instantiateViewController(withIdentifier: "LocationSearchTable") as! LocationSearchTable

    resultSearchController = UISearchController(searchResultsController: locationSearchTable)
    resultSearchController?.searchResultsUpdater = locationSearchTable

    let searchBar = resultSearchController!.searchBar
    searchBar.sizeToFit()
    searchBar.placeholder = "Where would you like to go"
    navigationItem.titleView = resultSearchController?.searchBar
    searchBar.delegate = self

    resultSearchController?.hidesNavigationBarDuringPresentation = false
    resultSearchController?.dimsBackgroundDuringPresentation = true
    definesPresentationContext = true                                  
    }                              

    func searchBarSearchButtonClicked(_: UISearchBar) {
    //  closeMapType()
    //  self.mapType.transform = .identity
    print("it worked")
  }                                                                      
}

Upvotes: 0

Views: 755

Answers (1)

Vini App
Vini App

Reputation: 7485

Below function will call when the user taps on the search bar :

func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
    return true
}

This will call when we click on the "Search" button in the keyboard

func searchBarSearchButtonClicked(_: UISearchBar)

Upvotes: 1

Related Questions