![](/img/trans.png)
[英]updateSearchResultsForSearchController not called in iOS 9
[英]updatesearchresultsforsearchcontroller not called
有誰知道為什么不在這里調用它? 謝謝。 我想我正確設置了代表。
class LocationSearchController: UIViewController, UISearchResultsUpdating, UINavigationBarDelegate, UISearchControllerDelegate {
let navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, height: 44))
var locationSearchController: UISearchController!
override func viewDidLoad() {
super.viewDidLoad()
locationSearchController = UISearchController(searchResultsController: nil)
self.locationSearchController.loadViewIfNeeded()
//sets up search controller
self.locationSearchController.searchResultsUpdater = self
self.locationSearchController.delegate = self
definesPresentationContext = true
//self.videoSearchController.searchBar.delegate = self
//sets up nav bar
navigationBar.backgroundColor = UIColor.blackColor()
navigationBar.delegate = self
navigationItem.titleView = locationSearchController.searchBar
//leftButton.title = "Left"
//navigationItem.leftBarButtonItem = leftButton
navigationBar.items = [navigationItem]
self.view.addSubview(navigationBar)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func updateSearchResultsForSearchController(searchController: UISearchController) {
print("search results updated 2")
}
}
任何想法將不勝感激。 我已經搜索了一段時間,但沒有找到有關此問題的答案。
我在 iOS8 上遇到了同樣的問題。 這是一種解決方法,但它會解決這個問題。
讓 LocationSearchController 實現 UISearchBarDelegate
在 viewDidLoad 中添加這一行:
locationSearchController.searchBar.delegate = self
添加此方法:
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) { updateSearchResultsForSearchController(locationSearchController) }
目標 C 使用這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.