demo下载:http://www.oschina.net/code/snippet_661032_15006
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<b>- (
void
)viewDidLoad
{
//去除SearchBar的背景
[[_searchBarOf_Ready.subviews objectAtIndex:0] setHidden:YES];
[[_searchBarOf_Ready.subviews objectAtIndex:0] removeFromSuperview];
for
(UIView *subview in _searchBarOf_Ready.subviews) {
if
([subview isKindOfClass:NSClassFromString(@
"UISearchBarBackground"
)]) {
[subview removeFromSuperview];
break
;
}
}
[super viewDidLoad];
//Do any additional setup after loading the view from its nib.
}</b>
|
1.
1
2
|
NSArray *dataList;
NSMutableArray *showData;
|
2.实现以下几个代理方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return
[_showData count]>0?[_showData count]:0;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static
NSString *TableSampleIdentifier = @
"TableSampleIdentifier"
;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
TableSampleIdentifier];
if
(cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:TableSampleIdentifier];
}
if
(_showData != nil && _showData.count >0) {
NSUInteger row = [indexPath row];
cell.textLabel.text = [_showData objectAtIndex:row];
}
return
cell;
}
- (
void
)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText;
{
NSLog(@
"%i"
,[_dataList count]);
if
(searchText!=nil && searchText.length>0) {
self.showData= [NSMutableArray array];
for
(NSString *tempStr in _dataList) {
if
([tempStr rangeOfString:searchText options:NSCaseInsensitiveSearch].length >0 ) {
[_showData addObject:tempStr];
NSLog(@
"%d"
,[_showData count]);
}
}
[_tableView reloadData];
}
else
{
self.showData = [NSMutableArray arrayWithArray:_dataList];
[_tableView reloadData];
}
}
-(
void
) searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[self searchBar:self.searchBar textDidChange:nil];
[_searchBar resignFirstResponder];
}
- (
void
)searchBarCancelButtonClicked:(UISearchBar *) searchBar
{
[self searchBar:self.searchBar textDidChange:nil];
[_searchBar resignFirstResponder];
}
|