UISearchBar 和 UISearchController

UISearchBar

UISearchBar属性相关


_searchBar = [[UISearchBar allocinitWithFrame:CGRectZero];//初始化,不解释

    [self.searchBar setPlaceholder:@"Search"];// 搜索框的占位符

    [self.searchBar setPrompt:@"Prompt"];// 顶部提示文本,相当于控件的Title

    [self.searchBar setBarStyle:UIBarMetricsDefault];// 搜索框样式

    [self.searchBar setTintColor:[UIColor blackColor]];// 搜索框的颜色,当设置此属性时,barStyle将失效

    [self.searchBar setTranslucent:YES];// 设置是否透明

    [self.searchBar setBackgroundImage:[UIImageimageNamed:@"image0"]];// 设置背景图片

    [self.searchBar setSearchFieldBackgroundImage:[UIImageimageNamed:@"image3"] forState:UIControlStateNormal];// 设置搜索框中文本框的背景

    [self.searchBar setSearchFieldBackgroundImage:[UIImageimageNamed:@"image0"] forState:UIControlStateHighlighted];

    [self.searchBarsetSearchFieldBackgroundPositionAdjustment:UIOffsetMake(3030)];// 设置搜索框中文本框的背景的偏移量

    

    [self.searchBar setSearchResultsButtonSelected:NO];// 设置搜索结果按钮是否选中

    [self.searchBar setShowsSearchResultsButton:YES];// 是否显示搜索结果按钮

    

    [self.searchBarsetSearchTextPositionAdjustment:UIOffsetMake(300)];// 设置搜索框中文本框的文本偏移量

    

    

    

    [self.searchBar setInputAccessoryView:_btnHide];// 提供一个遮盖视图

    [self.searchBarsetKeyboardType:UIKeyboardTypeEmailAddress];// 设置键盘样式

    

    // 设置搜索框下边的分栏条

    [self.searchBar setShowsScopeBar:YES];// 是否显示分栏条

    [self.searchBar setScopeButtonTitles:[NSArrayarrayWithObjects:@"Singer",@"Song",@"Album"nil]];// 分栏条,栏目

    [self.searchBar setScopeBarBackgroundImage:[UIImageimageNamed:@"image3"]];// 分栏条的背景颜色

    [self.searchBar setSelectedScopeButtonIndex:1];// 分栏条默认选中的按钮的下标

    

    

    [self.searchBar setShowsBookmarkButton:YES];// 是否显示右侧的书图标

    

    [self.searchBar setShowsCancelButton:YES];// 是否显示取消按钮

    [self.searchBar setShowsCancelButton:YES animated:YES];

    

    // 是否提供自动修正功能(这个方法一般都不用的)

    [self.searchBarsetSpellCheckingType:UITextSpellCheckingTypeYes];// 设置自动检查的类型

    [self.searchBarsetAutocorrectionType:UITextAutocorrectionTypeDefault];// 是否提供自动修正功能,一般设置为UITextAutocorrectionTypeDefault

    

    self.searchBar.delegate = self;// 设置代理

    [self.searchBar sizeToFit];

    myTableView.contentInset = UIEdgeInsetsMake(CGRectGetHeight(self.searchBar.bounds), 000);


    

    [self.view addSubview:myTableView];

    

    [myTableView addSubview:self.searchBar];



注意:

添加过滤器

 //搜索内容

   NSString * filter = searchController.searchBar.text;

    //SELF contains [c] %@ 搜索包含该字符串的内容

    //过滤器

   NSPredicate * predicate = [NSPredicatepredicateWithFormat:@"SELF contains [c] %@",filter];

    //查询结果给数组

    //在原来的数据源中 过滤该字符串的内容  并且将结果赋值给显示的结果集

    _showArray = [NSMutableArrayarrayWithArray:[_dataArrayfilteredArrayUsingPredicate:predicate]];


UISearchController的调用方法

UISearchResultsUpdating(代理)


//创建

UISearchController * search = [[UISearchControlleralloc]initWithSearchResultsController:nil];

//结果更新

search.searchResultsUpdater = (id)self;

//更新方法方法

-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{}


UIsearchBar的代理方法

UISearchBarDelegate(实现代理)


//创建

UISearchBar * searchBar = [[UISearchBaralloc]initWithFrame:CGRectMake(0,64, self.view.bounds.size.width,44)];

//代理

searchBar.delegate =self;

//代理方法

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar

{}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值