我在 Google Place AutoComplete 的导航栏中放置了一个搜索栏。当它出现时它显示得很好,但是当你点击它内部时,它会稍微向下移动并保持在那里,即使你点击取消,直到你将 titleView 设置为 nil 并再次返回,然后它会重置。这是我的 viewDidLoad 方法中调用的相关代码:
resultsViewController = GMSAutocompleteResultsViewController()
resultsViewController?.delegate = self
searchController = UISearchController(searchResultsController: resultsViewController)
searchController?.searchResultsUpdater = resultsViewController
searchController?.searchBar.sizeToFit()
searchController?.hidesNavigationBarDuringPresentation = false
definesPresentationContext = true
navigationController?.navigationBar.isTranslucent = true
searchController?.hidesNavigationBarDuringPresentation = false
navigationItem.titleView = nil
然后当需要我这样设置它:
navigationItem.titleView = searchController?.searchBar