title: UISearchController Needs an extra tap to become first responder
body: <p>I switched my apps one screen from <code>UISearchBar</code> to <code>UISearchController</code>. It's a tableview controller. As per design I should not keep the search bar on UI initially unless it is activated, (Normally it's a common practice to keep search bar as the 'tableHeaderView'). The problem was, I have a search button, when tapped 'search bar' should be activated and become first responder.</p>
  
  <p>When tapped on cancel button, it should be removed from UI. However when I'm tapping on the 'Search Bar Button' on navigation bar, the <code>UISearchController</code> gets activated, providing a dim background but the keyboard doesn't appear. I need to tap one more time on search bar to bring the keyboard upon UI.</p>
  
  <p>Here's my search bar button action:</p>
  
  <pre><code>@IBAction func onTapSearch(_ sender: AnyObject) {
      self.view.addSubview(searchController.searchBar)
      searchController.isActive = true
      searchController.becomeFirstResponder()
      isSearchActive = true
      self.navigationController?.setToolbarHidden(true, animated: false)
  }
  </code></pre>
  
  <p>I'm configuring the <code>UISearchController</code> in my <code>viewDidLoad</code> method. Let me know if that part code is any of you want to see, however it's usual code. And I verified I'm not calling anywhere <code>resignFirstResponder()</code> method anywhere.</p>