UISearchController一般是作为tableViewHeader来使用。在iOS11中navgationItem增加一个新的属性searchController,也可以直接设置为navgationItem的属性来使用。
UISearchController的一些重要属性
searchBar:UISearchController自带的一个searchbar
searchResultsController:当正在搜索时呈现的控制器,设置为nil时为当前控制器
searchResultsUpdater:搜索数据变更时的代理,用来处理搜索关键字
delegate:UISearchController生命周期的代理。
active:搜索的状态,正在搜索中 或 没有在进行搜索
dimsBackgroundDuringPresentation:是否加载一个灰色实体的背景,点击可取消搜索状态,默认开启
obscuresBackgroundDuringPresentation:这个属性不知道怎么用,没有效果,我是一般不设置这个属性
hidesNavigationBarDuringPresentation:当UISearchController.searchBar设置为tableView的headerView的时候,正在搜索时隐藏导航栏
searchBar的取消按钮时英文
在info.plist文件中加入Localizations字段,Localizations是一个数组,再向数组里添加Chinese字段,这样的话App会根据当前手机的语言环境来自动处理。
参考文章: