一个自定义的搜索框:GH_SearchView
2017-05-20 13:46:13 # Objective-C

对于iOS自带的搜索框,其实我用着也挺好的,但低版本的使用: 高版本的使用:UISearchController,两个难有个统一。很多项目中都是将着两套代码都写入项目中去,这样做难免显得代码冗余。所以就简单的自定义个搜索框。

下载地址:https://github.com/guohuaCabin/GH_SearchView 【支持pods】

怎样使用'GH_SearchView':

安装CocoaPods:pod 'GH_SearchView'

手动倒入:
拖动GH_SearchView文件夹中的所有文件到工程项目中

引入主要文件:#import "GH_SearchView.h"

使用时实现起来也很简单,一句代码创建:

1
2
3
4
5
6
7
8
9
10
11
12
GH_SearchView *searchView_1 = [[GH_SearchView alloc]initWithFrame:CGRectMake(10, 80, IPHONE_WIDTH-20, 44.f) withTarget:self backgroundColor:[UIColor redColor] placeholderContent:@"请输入搜索内容" searchImage:@"GH_search" withTableView:nil];

//自定制取消按钮字体颜色
[searchView_1 setCancelButtonTitleColor:[UIColor blueColor]];
//设置背景色透明度
[searchView_1 setBackgroundColorWithAlphaComponent:0.5];
//设置激活状态
[searchView_1 setSearchActiveState:YES];

[self.view addSubview:searchView_1];
//或者
//self.tableView.tableHeaderView = self.searchView;

使用时需遵守GH_searchDelegate协议。
其中必需实现的协议方法有一种:

1
2
3
4
5
6
/**
搜索按钮

@param content 搜索的内容
*/
-(void)searchClickedWithContent:(NSString *)content;

可选的协议方法有三种:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
实时搜索协议方法
@param content 搜索的内容
*/
-(void)searchBoxContentDidChange:(NSString *)content;

/**
搜索框开始输入
@param content 搜索的内容
*/
-(void)searchDidBeginEditing:(NSString *)content;

/**
搜索框输入结束
@param content 搜索的内容
*/
-(void)searchDidEndEditing:(NSString *)content;

效果图如下:
无tableView情况下:
GH_searchView_1

有tableView情况下:
GH_searchView_2