【iOS 开发】UITableView 结合 UISearchBar 问题解决

之前看了 Ray Wenderlich 的一篇文章 学习了一下怎么把 UISearchBar 放在 UITableView 的头部,来进行列表搜索,然后发现了两个问题,用了好久才解决:

  1. UISearchBar 有个 1 像素宽的黑色边框,去不掉
  2. 把 UISearchBar 放在 UITableView 头部的代码在 iOS 8 不起作用
tableView.tableHeaderView = searchController.searchBar // now working

解决问题 1

searchController.searchBar.layer.borderWidth = 1
searchController.searchBar.layer.borderColor = // your background color

解决问题 2

我发现 tableHeaderView 是可以被其他 view 有效填充的,不知道为什么 searchBar 就是放不进去,所以直接找个大小一样的 UIView 作为容器放在 searchBar 下面就好了。

let containerView = UIView(frame: CGRectMake(0, 64, view.frame.width, 44))
containerView.backgroundColor = // your background color
searchController.searchBar.frame = CGRectMake(0, 0, view.frame.width, 44)
containerView.addSubview(searchController.searchBar)
tableView.tableHeaderView = containerView

你可能感兴趣的:(【iOS 开发】UITableView 结合 UISearchBar 问题解决)