【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可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,092评论 3 38
  • 近几日天气特别随意,别的地方暴雨,这里就是沙尘暴。早晨还是蓝天白云,晚上便是厚重的沙尘。今年的天气显得格外任性。而...
    苏穆凉阅读 332评论 0 1
  • 有人的地方就有江湖。人与人之间的相处很微妙,有一个朋友之前告诉我:“有的人,你请了他吃三顿饭,他一次也没有回请你,...
    王璇璇阅读 190评论 0 1
  • 买了两套第二套只穿过t恤 背带裙全新
    昃昃昃阅读 155评论 0 0
  • 我是一个比较懒的人,平时也不太下厨,心情好时会做点家常菜。自从有了孩子,我多了一项爱好-烘焙。孩子喜欢吃饼干...
    D009十字阅读 276评论 1 2