UISearchBar属性相关 _searchBar = [[UISearchBar alloc] initWithFrame: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(30, 30)];// 设置搜索框中文本框的背景的偏移量
[self.searchBar setSearchResultsButtonSelected:NO];// 设置搜索结果按钮是否选中 [self.searchBar setShowsSearchResultsButton:YES];// 是否显示搜索结果按钮
[self.searchBarsetSearchTextPositionAdjustment:UIOffsetMake(30, 0)];// 设置搜索框中文本框的文本偏移量
[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), 0, 0, 0);
[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 {} |
UISearchBar 和 UISearchController
最新推荐文章于 2017-12-27 14:19:54 发布
UISearchBar