GooglePlacesAutocomplete在活动时向上移动搜索栏
问题描述:
目前,我按照这些步骤实施了Google地方信息自动填充搜索栏。GooglePlacesAutocomplete在活动时向上移动搜索栏
https://developers.google.com/places/ios-api/autocomplete#add_an_autocomplete_ui_control
到目前为止好,它的工作原理,但是当我在搜索栏上单击下移,这是我不想。
要(点击时):
我当前的代码是完全一样的教程(我也尝试过它后修正错误,不工作)
var resultsViewController: GMSAutocompleteResultsViewController?
var searchController: UISearchController?
var resultView: UITextView?
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Event-Filter";
resultsViewController = GMSAutocompleteResultsViewController()
resultsViewController?.delegate = self
searchController = UISearchController(searchResultsController: resultsViewController)
searchController?.searchResultsUpdater = resultsViewController
let subView = UIView(frame: CGRect(x: 0, y: 0.0, width: self.view.frame.width, height: 45.0))
subView.addSubview((searchController?.searchBar)!)
view.addSubview(subView)
searchController?.searchBar.sizeToFit()
searchController?.searchBar.placeholder = "Enter a specific place!";
navigationController?.navigationBar.isTranslucent = false
searchController?.hidesNavigationBarDuringPresentation = false
// When UISearchController presents the results view, present it in
// this view controller, not one further up the chain.
definesPresentationContext = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Handle User Selection
func resultsController(_ resultsController: GMSAutocompleteResultsViewController, didAutocompleteWith place: GMSPlace) {
searchController?.isActive = false
searchController?.searchBar.text = place.formattedAddress;
print("Place name: \(place.name)")
print("Place address: \(place.formattedAddress ?? "not found")")
print("Place lat:" + String(place.coordinate.latitude))
}
func resultsController(_ resultsController: GMSAutocompleteResultsViewController,
didFailAutocompleteWithError error: Error){
let backend = BackendService()
backend.alert(view: self, message: error.localizedDescription, title: "Something went wrong!")
}
// Turn the network activity indicator on and off again.
func didRequestAutocompletePredictions(forResultsController resultsController: GMSAutocompleteResultsViewController) {
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func didUpdateAutocompletePredictions(forResultsController resultsController: GMSAutocompleteResultsViewController) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
答
嗯,我有同样的问题,我通过使用下面的代码行使它正常工作:
definesPresentationContext = false
我测试了很多,它对我来说是完美的。