Swift UISearchController简单使用


Swift - UISearchController的简单使用

记录下UISearchController的简单使用,方便后期查找。此次是将UISearchController添加到导航栏上使用的

Demo效果如下

UISearchController

UISearchController的初始化

  • 代码如下
/// 初始化搜索控制器
func initSearchController() {
    searchC = UISearchController.init(searchResultsController: nil)
    searchC.searchResultsUpdater = self
    //设置placeholder
    searchC.searchBar.placeholder = "搜索内容"
    //设置为false,则搜索出来的内容可点击等操作
    searchC.obscuresBackgroundDuringPresentation = false
    //总是显示搜索框,如果不设置,会随着滚动而消失
    navigationItem.hidesSearchBarWhenScrolling = false
    //将搜索控制器加到导航栏上
    navigationItem.searchController = searchC

}

注:以下两个属性需要注意下

//设置为false,则搜索出来的内容可点击等操作

searchC.obscuresBackgroundDuringPresentation = false

//总是显示搜索框,如果不设置,会随着滚动而消失

navigationItem.hidesSearchBarWhenScrolling = false

  • 实现代理,进行实时搜索
/// UISearchController代理,实时进行搜索
func updateSearchResults(for searchController: UISearchController) {
    searchArr = dataList.filter({ (str) -> Bool in
        //localizedCaseInsensitiveContains 返回不区分大小写,包含的数据
        return str.localizedCaseInsensitiveContains(searchC.searchBar.text!)
    })
}

这里使用了Swift数组自带filter方法,返回一个符合条件的新数组

以上就是的UISearchController简单使用,不涉及.searchBar.scopeButtonTitles

Demo地址


文章作者: 逸之
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 逸之 !
  目录