UISearchBar使用及修改样式

//初期化 

self.searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, DEVICE_WIDTH - 120, 34)];

//修改searchBar 方法镜图片

[self.searchBar setImage:[UIImage imageNamed:@"store_search_small"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];

//设置默认文字

[self.searchBar setPlaceholder:@"输入地址/店名"];

self.searchBar.delegate = self;

//设置是否显示UISearchBar自带的cancel按钮

self.searchBar.showsCancelButton = YES;

 [self.view addSubview:self.searchBar];

 

for(id cc in [[self.searchBar.subviews lastObject] subviews])

    {

       //修改UISearchBar自带的cancel按钮样式

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

        {

            UIButton *btn = (UIButton *)cc;

            [btn setTitle:@"取消" forState:UIControlStateNormal];

            [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

            [btn setTitleColor::[UIColor redColor] forState:UIControlStateHighlighted];

            btn.titleLabel.font = [UIFont systemFontOfSize:14];

            btn.enabled=YES;

        }

        //修改UISearchBar自带的UITextField样式

        if ([cc isKindOfClass:[UITextField class]]){

            UITextField * searchField = (UITextField *)cc;

            searchField.layer.cornerRadius = 15;

            [searchField setValue: [UIColor blueColor]  forKeyPath:@"_placeholderLabel.textColor"];

            searchField.textColor = [UIColor grayColor] ;

            searchField.backgroundColor = [UIColor redColor] ;

        }

       //去掉UISearchBar自带的背景框

        if ([cc isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

            [cc removeFromSuperview];

        }

    }

#pragma mark UISearchBarDelegate

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

{

    //检测搜索框中文字变化

}

//点击键盘上搜索按钮的响应事件

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar

{

   //收回键盘

    [self.searchBar resignFirstResponder];

}

转载于:https://my.oschina.net/StriveBoy/blog/866194

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值