【发布时间】:2016-12-17 12:40:34
【问题描述】:
我在 swift 3 中的搜索栏有这个奇怪的问题。
所以我希望将搜索栏粘贴到表格视图的顶部(但不要将它放在情节提要中) 我有以下代码。
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
searchController.searchBar.placeholder = "Search for Event Name or Category"
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return self.searchController.searchBar
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return searchController.searchBar.frame.height
}
所以当我上下滚动表格视图时,搜索栏确实保持在顶部。 当我按下搜索栏输入文本时,它会显示键盘和取消按钮。
如果我按下取消按钮,键盘就会消失,这是正常的。
但是如果我按键盘上的某些东西(让我们说字母A)
它过滤表格视图并关闭键盘。它也不允许我按下取消或 (x) 按钮。
知道为什么吗?
附:在模拟器中工作得很好!但是在我的 iPhone SE 上是在做上面的事情!
【问题讨论】:
-
为什么不将搜索栏添加为 UITableviewHeader?
-
@Dev_Tandel 因为当我向下滚动时它不会粘在 tableview 的顶部
标签: ios swift swift3 uisearchbar uisearchcontroller