UISearchBar

UISearchBar是系统自带的搜索控件 继承于UIView

一.相关属性

    
   seacbar.prompt = @"顶部提示信息";
    
    
    seacbar.placeholder = @"我是占位文字";
    
   seacbar.text = @"我是搜索的文字";
    
    
    
    //右侧按钮相关 四个按钮默认NO
    //是否显示图书按钮
    seacbar.showsBookmarkButton = YES;
    //取消按钮
   seacbar.showsCancelButton = YES;
    //搜索结果按钮是否显示
   seacbar.showsSearchResultsButton = YES;
    //搜索按钮是否选中
   seacbar.searchResultsButtonSelected = YES;
    
    
    //光标颜色
    seacbar.tintColor = [UIColor orangeColor];
    //搜索框背景颜色
    seacbar.barTintColor = [UIColor purpleColor];
    //搜索框背景色和图片
   seacbar.backgroundColor = [UIColor yellowColor];
    
    //风格,black黑色,default默认 白色框,灰色背景
    seacbar.barStyle = UIBarStyleBlack;
    
    
    //搜索框背景颜色是否显示, default(默认),Prominent(显示),minima(显示显示的是backgroundColor的颜色,)
       seacbar.searchBarStyle = UISearchBarStyleProminent;
    
    //总结几种背景色调用 当同时设置了barTintColor,backgroundColor的时候并且searchBarStyle没有设置时,显示的是默认的Default,当变成minima的时候背景色显示的backgroundColor
    
    
    //搜索框背景图片(无效)
   seacbar.backgroundImage = [UIImage imageNamed:@"timg.jpeg"];
    
    
    //修改搜索框左边按钮图片
    [seacbar setImage:[UIImage imageNamed:@"timg.jpeg"]forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
    
      //搜索框背景偏移量
    seacbar.searchFieldBackgroundPositionAdjustment = UIOffsetMake(9, 3);
    //输入文字的偏移量
    seacbar.searchTextPositionAdjustment = UIOffsetMake(1, 1);
    
    
    
    
    //显示和隐藏按钮是否有动画效果
    [seacbar  setShowsCancelButton:YES animated:NO];
    

二.第一响应者

第一响应者
[searchBar becomeFirstResponder]
取消第一响应者
 [searchBar resignFirstResponder];

三.设置右侧取消按钮字体

 for(id cc in [searchBar subviews])
    {
        if([cc isKindOfClass:[UIButton class]])
        {
            UIButton *btn = (UIButton *)cc;
            [btn setTitle:@"取消"  forState:UIControlStateNormal];
        }
    }
    [searchBar setShowsCancelButton:YES animated:YES];

四.代理方法

// 1. 将要开始编辑文本时会调用该方法,返回 NO 将不会变成第一响应者
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
- // 2. 开始输入文本会调用该方法
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
- // 3. 将要结束编辑文本时会调用该方法,返回 NO 将不会释放第一响应者
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
- // 4. 结束编辑文本时调用该方法
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
- // 5. 文本改变会调用该方法(包含clear文本)
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
- // 6. 文字改变前会调用该方法,返回NO则不能加入新的编辑文字
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
- // 7. 键盘上的搜索按钮点击的会调用该方法
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
- // 8. 搜索框右侧图书按钮点击会调用该方法
- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar
- // 9.点击取消按钮会调用该方法
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
- // 10.搜索结果列表按钮被按下会调用该方法
- (void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar
- // 11. 搜索框的附属按钮视图中切换按钮会调用该方法
- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值