UITableVIew搜索

1.实现 UISearchDisplayDelegate

    searchResult = [[NSMutableArray alloc]initWithCapacity:0];

    mySearchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];

    myTableView.tableHeaderView = mySearchBar;

    UISearchDisplayController *mySearchCtl = [[UISearchDisplayController alloc]initWithSearchBar:mySearchBar contentsController:self];

    mySearchCtl.searchResultsDataSource = self;

    mySearchCtl.searchResultsDelegate = self;


2.- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

    if(tableView != myTableView)

    {

        return @"搜索结果";

    }

    return [NSString stringWithFormat:@"%c",section+'A'];

}

3.- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

    if(tableView != myTableView)

    {

        return 1;

    }

    return [nameArray count];

}

4.- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    if(tableView != myTableView)

    {

        NSString *searchWord = mySearchBar.text;

        [searchResult removeAllObjects];

        for(NSArray *eachArray in nameArray)

        {

            for(NSString *name in eachArray)

            {

               //不分大小写

                NSRange myRange = [name rangeOfString:searchWord options:NSCaseInsensitiveSearch];

                if(myRange.length == 0)

                {

                    continue;

                }

                [searchResult addObject:name];

            }

        }

        return [searchResult count];

        

    }

    return [[nameArray objectAtIndex:section]count];

}

5.- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *mycell = [tableView dequeueReusableCellWithIdentifier:@"mycell"];

    if(mycell==nil)

    {

        mycell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"mycell"];

    }

    if(tableView != myTableView)

    {

        mycell.textLabel.text = [searchResult objectAtIndex:indexPath.row];

        return mycell;

    }

     mycell.textLabel.text = [[nameArray objectAtIndex:indexPath.section]objectAtIndex:indexPath.row];

    return mycell;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值