Swift5.2 - 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地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。