美文网首页天生不是作曲家iOS Developerswift编程开发
【iOS 开发】UITableView 结合 UISearchB

【iOS 开发】UITableView 结合 UISearchB

作者: KyXu | 来源:发表于2016-05-06 17:35 被阅读1076次

    之前看了 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

    相关文章

      网友评论

      • JinyaMax:你指的是searchBar外围有一圈阴影吗?可以用searchController.searchBar.searchBarStyle = .Minimal 消掉,不过我使用的环境是在iOS9.0以上,没试过8
        MyiOS:@JinyaTu 灰色的边框
        KyXu:@金亞 不是阴影,是边框

      本文标题:【iOS 开发】UITableView 结合 UISearchB

      本文链接:https://www.haomeiwen.com/subject/paejrttx.html