IOS searchBar和searchDisplayController 使用

本文详细介绍了使用Swift语言开发iOS应用的基本步骤,包括环境搭建、基础语法、UI设计、网络请求等核心内容,帮助开发者快速掌握iOS开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、加的是searchDisplayController 可以在storyboard中看到 seachDisplay

2、两个代理  UISearchBarDelegate,UISearchDisplayDelegate 并设置

3、连线 searchDisplay和searchBar

4、将 self.tableView.tableHeaderView=self.searchBar 固定住

5、搜索时调用的方法

#pragma mark 搜索方法

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString{


    NSPredicate * query=[NSPredicate predicateWithFormat:@"SELF.name contains[c]%@",searchString];

    

    self.searchResult=[self.contacts filteredArrayUsingPredicate:query];

    

    return YES;

}




6、搜索的时候会显示自己的tableView  确定是不是searchDisplay.searchResultsTableView

7、修改tableView  count

8、跳转判断 查看联系人 

#prama mark 点击搜索后搜索
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    NSString * searchString=self.searchBar.text;
    
    NSPredicate * query=[NSPredicate predicateWithFormat:@"SELF.title contains[c]%@",searchString];
    
    self.searchResult=[self.searchData filteredArrayUsingPredicate:query];
    NSLog(@"self.searchResult%@",self.searchResult);
    [self.searchDisplay.searchResultsTableView reloadData];
}

/*

#pragma mark 实时搜索
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString{
    
    
    NSPredicate * query=[NSPredicate predicateWithFormat:@"SELF.title contains[c]%@",searchString];
    
    self.searchResult=[self.searchData filteredArrayUsingPredicate:query];
    return YES;
}
*/


参考资料

http://www.cnblogs.com/lesliefang/p/3929677.html

转载于:https://my.oschina.net/u/554046/blog/532032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值