搜索功能的实现

我们项目需要自定义SearchBar外观与app主题保持一致,而且目前我们公司适配到iOS7,所以需要修改默认的外观。

搜索功能的实现_第1张图片
设置后外观后


1.使用控件:

iOS8之前:UISearchBar+UISearchDisplayController

iOS8之后:UISearchController

只需要将UISearchController的searchBar添加到self.view上即可;

2.获取UISearchBar子视图,自定义UISearchBarBackground、UISearchBarTextField等的样式:

iOS8之前:[searchBar subviews]

iOS8之后:[[searchBar subviews][0]subviews]

ps:在获取cancel按钮时,一定要写上searchBar.showsCancelButton = YES;

搜索功能的实现_第2张图片
图片1

3.设置输入框背景颜色

我一直以为要用上图1的方法,修改searchBar的background,然后修改textfield的背景颜色。后来看到某条博客,发现只要用这一行代码就可以:

图片2

4.修改取消按钮的颜色

我尝试用图1的方法修改,但是发现我只能修改取消按钮显示的内容即title,却改变不了颜色,后来发现只需要修改searchBar的tintColor。


你可能感兴趣的:(搜索功能的实现)