搜索栏在点击后消失
Search Bar disappears after tap on it
我正在尝试使用 google 地图搜索附近的地点。下面是我到目前为止所做的代码
override func viewDidLoad() {
super.viewDidLoad()
//Adding Mapview
mapView = GMSMapView(frame: CGRectMake(0, 120, self.view.bounds.width, self.view.bounds.height - 120))
self.view.addSubview(mapView)
mapView.mapType = kGMSTypeNormal
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
let resultTableView = UITableView(frame: CGRectMake(10, 100, 300, 60))
self.searchResultController = UITableViewController()
self.searchResultController?.tableView = resultTableView
self.searchResultController?.tableView.dataSource = self
self.searchResultController?.tableView.delegate = self
self.searchResultController?.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.searchController = UISearchController(searchResultsController: self.searchResultController)
self.searchController?.searchResultsUpdater = self
self.searchController?.hidesNavigationBarDuringPresentation = true
self.searchController?.dimsBackgroundDuringPresentation = false
self.searchController?.delegate = self
self.searchController?.searchBar.frame = CGRectMake(0,70,self.view.bounds.width,40)
self.searchController?.searchBar.placeholder = "Please choose a location"
self.view.addSubview(self.searchController!.searchBar)
self.definesPresentationContext = true
}
一切正常,除了搜索栏在单击后消失。但它发挥了它的作用。
我找到了解决上述问题的方法。
func willPresentSearchController(searchController: UISearchController){
self.searchResultController?.tableView.addSubview(self.searchController!.searchBar)
}
希望对大家有帮助!!!
尝试在 layoutSubviews
方法中调用 [[[self searchController] searchBar] sizeToFit];
。它帮助了我。
我正在尝试使用 google 地图搜索附近的地点。下面是我到目前为止所做的代码
override func viewDidLoad() {
super.viewDidLoad()
//Adding Mapview
mapView = GMSMapView(frame: CGRectMake(0, 120, self.view.bounds.width, self.view.bounds.height - 120))
self.view.addSubview(mapView)
mapView.mapType = kGMSTypeNormal
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
let resultTableView = UITableView(frame: CGRectMake(10, 100, 300, 60))
self.searchResultController = UITableViewController()
self.searchResultController?.tableView = resultTableView
self.searchResultController?.tableView.dataSource = self
self.searchResultController?.tableView.delegate = self
self.searchResultController?.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.searchController = UISearchController(searchResultsController: self.searchResultController)
self.searchController?.searchResultsUpdater = self
self.searchController?.hidesNavigationBarDuringPresentation = true
self.searchController?.dimsBackgroundDuringPresentation = false
self.searchController?.delegate = self
self.searchController?.searchBar.frame = CGRectMake(0,70,self.view.bounds.width,40)
self.searchController?.searchBar.placeholder = "Please choose a location"
self.view.addSubview(self.searchController!.searchBar)
self.definesPresentationContext = true
}
一切正常,除了搜索栏在单击后消失。但它发挥了它的作用。
我找到了解决上述问题的方法。
func willPresentSearchController(searchController: UISearchController){
self.searchResultController?.tableView.addSubview(self.searchController!.searchBar)
}
希望对大家有帮助!!!
尝试在 layoutSubviews
方法中调用 [[[self searchController] searchBar] sizeToFit];
。它帮助了我。