UISearchBar

http://blog.sina.com.cn/s/blog_a7c44c880101ca1i.html


属性 作用
UIBarStyle barStyle 控件的样式
id delegate 设置控件的委托
NSString *text 控件上面的显示的文字
NSString *prompt 显示在顶部的单行文字,通常作为一个提示行
NSString *placeholder 半透明的提示文字,输入搜索内容消失
BOOL showsBookmarkButton 是否在控件的右端显示一个书的按钮(没有文字的时候)
BOOL showsCancelButton 是否显示cancel按钮
BOOL showsSearchResultsButton 是否在控件的右端显示搜索结果按钮(没有文字的时候)
BOOL searchResultsButtonSelected 搜索结果按钮是否被选中
UIColor *tintColor bar的颜色(具有渐变效果)
BOOL translucent 指定控件是否会有透视效果
UITextAutocapitalizationType
autocapitalizationType
设置在什么的情况下自动大写
UITextAutocorrectionType
autocorrectionType
对于文本对象自动校正风格
UIKeyboardType
keyboardType
键盘的样式
NSArray *scopeButtonTitles 搜索栏下部的选择栏,数组里面的内容是按钮的标题
NSInteger selectedScopeButtonIndex 搜索栏下部的选择栏按钮的个数
BOOL showsScopeBar 控制搜索栏下部的选择栏是否显示出来

代理列表: 

 

编辑代理

 

  • – searchBar:textDidChange:
  • – searchBar:shouldChangeTextInRange:replacementText:
  • – searchBarShouldBeginEditing:
  • – searchBarTextDidBeginEditing:
  • – searchBarShouldEndEditing:
  • – searchBarTextDidEndEditing:

点击按钮

  • – searchBarBookmarkButtonClicked:
  • – searchBarCancelButtonClicked:
  • – searchBarSearchButtonClicked:
  • – searchBarResultsListButtonClicked:

范围代理

  • – searchBar:selectedScopeButtonIndexDidChange:


UISearchBar   searchbar =[[UISearchBaralloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
                searchbar.showsCancelButton=NO;
                searchbar.barStyle=UIBarStyleDefault;
                searchbar.placeholder=@"aaaaaa";
                searchbar.keyboardType=UIKeyboardTypePhonePad;
               
                [celladdSubview:searchbar];
                [searchbarrelease];


添加搜索框事件:
-(void)searchBarTextDidBeginEdi ting:(UISearchBar*)searchBar{
        [searchBarsetShowsCancelButton:YES animated:YES];
        self.tableView.allowsSelection=NO;
        self.tableView.scrollEnabled=NO;
}
添加Cancel事件:
-(void)searchBarCancelButtonCli cked:(UISearchBar*)searchBar{
        searchBar.text=@"";
        [searchBarsetShowsCancelButton:NO animated:YES];
        [searchBarresignFirstResponder];
        self.tableView.allowsSelection=YES;
        self.tableView.scrollEnabled=YES;
}
添加搜索事件:
-(void)searchBarSearchButtonCli cked:(UISearchBar*)searchBar{
        NSArray*results;
        [searchBarsetShowsCancelButton:NO animated:YES];
        [searchBarresignFirstResponder];
        self.tableView.allowsSelection=YES;
        self.tableView.scrollEnabled=YES;
        [self.tableDateremoveAllObjects];
        [self.tableDateaddObjectsFromArray:results];
        [self.tableViewreloadData];
}
最后绑定数据就是

复制数据的
-(void)resetSearch{
        self.names=[self.allNamesmutabledeepCopy];
        NSMutableArray*keyArray=[[NSMutableArray alloc]init];
        keyArrayaddObjectsFromArray:[self.allNamesallkeys]sortedAaa>>>>>:[[@selector(compare;)]];
        self.keys=keyArray;
        [keyArrayrelease];
}

实现搜索的
-(void)handleSearchForTerm:(NSString *)searchterm{
        NSMutableArray*s=[[NSMutableArray alloc]init];
        [selfresetSearch];
        for(NSString *key in self.keys){
                NSMutableArray*array=[names valueForKey:key];
                NSMutableArray*toRemove=[[NSMutableArray alloc]init];
                for(NSString *name in array) {
                        if([namerangeOfString:searchtermoptions:NSCaseInsensitiveSearch].location==NSNotFound)
                                [toRemoveaddObject:name];
                }
                if([array count]==[toRemove count]) {
                        [saddObject:key];
                        [arrayremoveObjectsInArray:toRemove];
                        [toRemoverelease];
                }
                [self.keysremoveObjectsInArray:s];
                [srelease];       
        }  
}


seachBar=[[UISearchBar allocinit];

//修改搜索框背景

seachBar.backgroundColor=[UIColor clearColor];

//去掉搜索框背景

//1.

[[searchbar.subviews objectAtIndex:0]removeFromSuperview];

//2.

for (UIView *subview in seachBar.subviews

{  

if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])

{  

[subview removeFromSuperview]; 

break

}  

//3自定义背景

UIImageView *imageView= [[UIImageView allocinitWithImage:[UIImage imageNamed:@"40-di.png"]];

   [mySearchBar insertSubview:imageView atIndex:1];

   [imageView release];

//4输入搜索文字时隐藏搜索按钮,清空时显示

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{  

searchBar.showsScopeBar YES

[searchBar sizeToFit]; 

[searchBar setShowsCancelButton:YES animated:YES]; 

return YES

}  

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar{  

searchBar.showsScopeBar NO

[searchBar sizeToFit]; 

[searchBar setShowsCancelButton:NO animated:YES]; 

return YES

}  

//改变搜索按钮文字

//改变UISearchBar取消按钮字体

for(id cc in [searchBar subviews])

   {

if([cc isKindOfClass:[UIButton class]])

       {

          UIButton *btn= (UIButton *)cc;

         [btn setTitle:@"搜索"  forState:UIControlStateNormal];

       }

   }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值