【发布时间】:2016-08-05 07:24:50
【问题描述】:
我有一个UIView,里面有一个UITableView 和另一个UIView。在UITableView 内,我有一个包含UISearchController 的标头,搜索控制器包含一个UISearchBar。问题是,当我开始关注搜索栏并编辑 textField 时(所以当 searchController.searchBar.isFirstResponder() 时),范围按钮出来了,覆盖并隐藏了我的表格视图第一行的一部分。
这就是为什么我试图使 headerView 高度动态化,以便每当搜索栏是第一响应者时我都可以更改它。我尝试了以下方法,但它不起作用:
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if searchController.searchBar.isFirstResponder() {
return 40.0
}
else{
return 20.0
}
}
关于如何实现这一目标的任何想法? 提前谢谢你。
编辑:我在定义我的 searchController 时还设置了以下内容
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.scopeButtonTitles = ["Groups", "People"]
tableView.tableHeaderView = searchController.searchBar
searchController.searchBar.delegate = self
searchController.searchBar.sizeToFit()
self.definesPresentationContext = false
【问题讨论】:
标签: ios xcode swift uitableview uisearchbar