无法与添加为HeaderView的SearchBar交互

时间:2017-06-26 15:47:57

标签: ios iphone swift uisearchbar

我已将SearchController的搜索栏添加到tableview控制器的headerview中,但是当我点击搜索栏时,键盘不会弹出。感觉就像没有用户互动。以下是用于将搜索栏添加到uitableview的代码。

  self.resultSearchController = ({
                let controller = UISearchController(searchResultsController: nil)
                controller.searchResultsUpdater = self
                controller.dimsBackgroundDuringPresentation = false
                controller.searchBar.sizeToFit()
                controller.searchBar.userInteractionEnabled = true
                dispatch_async(dispatch_get_main_queue(),{
                    self.tableView.tableHeaderView = controller.searchBar
                    controller.searchBar.bounds = (self.tableView.tableHeaderView?.bounds)!
                    controller.definesPresentationContext = true
                    self.definesPresentationContext = true

                })
                return controller
            })()

1 个答案:

答案 0 :(得分:0)

尝试在viewDidLoad中添加这5行代码并尝试一下

let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
self.tableView.tableHeaderView = searchController.searchBar