这是我制作的UISearchController
。
var resultSearchController = UISearchController()
var myTableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
myTableView.frame = CGRectMake(0, 21, view.bounds.width, view.bounds.height-20) //programatically made my tableview for use with UISearchController
myTableView.delegate = self
myTableView.dataSource = self
myTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.searchBar.delegate = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.userInteractionEnabled = true
controller.searchBar.hidden = false
self.myTableView.tableHeaderView = controller.searchBar // attach searchBar to tableView
return controller
})()
UIApplication.sharedApplication().keyWindow?.addSubview(myTableView) //put view on top of navigation bar
类似的问题表明,父视图不够大。我认为这不是问题。也有人建议
SearchController
被另一个视图覆盖。同样,我不认为这是问题。我可以与我的
tableView
进行互动。当我点击SearchBar
时,什么也没有发生。到底是怎么回事?这是我的应用程序。
编辑:这是发布答案后的我的应用程序:
最佳答案
我想出了一个可能对您有帮助的解决方案。
替换为:
UIApplication.sharedApplication().keyWindow?.addSubview(myTableView)
有了这个:
UIApplication.sharedApplication().keyWindow?.subviews.last?.addSubview(myTableView)