UISearchDisplayController 简单用法
来源:互联网 发布:淘宝上说的厂家直销 编辑:程序博客网 时间:2024/05/18 00:46
{
NSArray *data;
NSArray *filterData;
UISearchDisplayController *searchDisplayController;
}
#import "MainViewController.h"
@interface MainViewController ()
@end
@implementation MainViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [superinitWithStyle:style];
if (self) {
data = [NSArrayarrayWithObjects:@"Allan",@"Abbbb",@"Acccc",@"Bccccc",@"Cddddffk",@"Cddkllll",@"Ekkflfl",@"Ekljljfg" ,@"Leslie",@"Mm",@"Meinv",@"Meihi",@"Catilin",@"Arron",nil];
}
return self;
}
- (void)viewDidLoad
{
[superviewDidLoad];
UISearchBar *searchBar = [[UISearchBaralloc] initWithFrame:CGRectMake(0,0, self.view.frame.size.width,44)];
searchBar.placeholder =@"搜索";
// 添加 searchbar 到 headerview
self.tableView.tableHeaderView = searchBar;
// 用 searchbar 初始化 SearchDisplayController
// 并把 searchDisplayController 和当前 controller关联起来
searchDisplayController = [[UISearchDisplayControlleralloc] initWithSearchBar:searchBarcontentsController:self];
// searchResultsDataSource 就是 UITableViewDataSource
searchDisplayController.searchResultsDataSource =self;
// searchResultsDelegate 就是 UITableViewDelegate
searchDisplayController.searchResultsDelegate =self;
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeCustom];
[self.viewaddSubview:button];
button.frame =CGRectMake(100,100, 150, 18);
button.backgroundColor = [UIColorredColor];
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
/*
* 如果原 TableView 和 SearchDisplayController 中的 TableView的 delete 指向同一个对象
* 需要在回调中区分出当前是哪个 TableView
*/
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.tableView) {
return data.count;
}else{
// 谓词搜索
NSPredicate *predicate = [NSPredicatepredicateWithFormat:@"self contains [cd] %@",searchDisplayController.searchBar.text];
filterData = [[NSArrayalloc] initWithArray:[datafilteredArrayUsingPredicate:predicate]];
return filterData.count;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellId =@"mycell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil) {
cell = [[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:cellId];
}
if (tableView == self.tableView) {
cell.textLabel.text =data[indexPath.row];
}else{
cell.textLabel.text =filterData[indexPath.row];
}
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *text;
if (tableView == self.tableView) {
text =data[indexPath.row];
}else{
text =filterData[indexPath.row];
}
if( [data containsObject:text]){
NSLog(@"发音");
}
// [self.view.superview removeFromSuperview];
NSLog(@"you click %lu %@",indexPath.row,text);
}
@end
- UISearchDisplayController 简单用法
- UISearchDisplayController
- UISearchDisplayController
- UISearchDisplayController
- UISearchDisplayController UISearchBar
- UISearchDisplayController详解
- UISearchBar、UISearchDisplayController
- UISearchBar UISearchDisplayController
- UISearchDisplayController 的使用
- UISearchBar和UISearchDisplayController
- UISearchDisplayController 的使用
- IOS UISearchBar + UISearchDisplayController使用
- UISearchBar和UISearchDisplayController
- UISearchBar和UISearchDisplayController
- UISearchBar和UISearchDisplayController
- UISearchBar和UISearchDisplayController
- UISearchBar、UISearchDisplayController搜索
- UISearchDisplayController 的使用
- Comments Of American
- 自定义圆形进度条
- 狐火加速
- 十三周——输入输出流——阅读
- OJ刷题---鸡兔同笼问题
- UISearchDisplayController 简单用法
- 学习STL -- STL 简介
- LeetCode18:4Sum
- SQL SERVER 2008 R2 数据库自动备份
- 十三周——输入输出流——阅读
- POJ 3971 Scales
- jsonrpc4j client使用实例
- 联想M7650DF打印机加墨粉
- 改变源于坚持