UISearchBar基本使用,设置颜色和字体大小

废话不多说,直接上代码
//写一个背景View,贴在导航控制器上
UIView *BJview = [[UIView alloc] initWithFrame:CGRectMake(40, 33, 
self.view.frame.size.width - 80, 40)];
self.navigationItem.titleView = BJview;

//创建seachBar
self.seachBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, BJview.bounds.size.width, 40)];
//去掉seachBar的黑线
self.seachBar.backgroundImage = [UIImage new];
self.seachBar.delegate = self;
self.seachBar.placeholder = @"请输入要搜索的内容";
//成为键盘的第一响应者
[self.seachBar becomeFirstResponder];
[BJview addSubview:self.seachBar];

//通过KVC拿到textField
UITextField  *seachTextFild = [self.seachBar valueForKey:@"searchField"];
拿到textField之后就可以肆意妄为了
//修改字体颜色
seachTextFild.textColor = [UIColor redColor];
//修改字体大小
seachTextFild.font = [UIFont systemFontOfSize:14];

//修改光标颜色
[seachTextFild setTintColor:[UIColor colorWithRed:35/255.0 green:185/255.0 blue:165/255.0 alpha:1.0]];
//更改searchBar 中PlaceHolder 字体颜色
[searchField setValue:[UIColor blackColor] forKeyPath:@"_placeholderLabel.textColor"];
  
self.seachTextFild = seachTextFild;

//修改搜索图标
UIImageView *img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"sear"]];
img.frame = CGRectMake(10, 0,20,20);
self.searchField.leftView = img;
self.searchField.leftViewMode = UITextFieldViewModeAlways;

//修改clearButton
UIButton *clearButton = [self.searchField valueForKey:@"_clearButton"];
[clearButton setImage:[UIImage imageNamed:@"dele.png"] forState:UIControlStateNormal];


复制代码


UISearchBar 的代理方法

//代理方法  实时监听输入框的文字变动
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{

    NSLog(@"%@",searchText);

}

//searchBar的确定点击事件
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{

    NSLog(@"%@",self.seachBar.text);

}

将要开始编辑时的回调,返回为NO,则不能编辑
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar;

已经开始编辑时的回调
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar;

将要结束编辑时的回调
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar;

已经结束编辑的回调
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar;

编辑文字改变前的回调,返回NO则不能加入新的编辑文字
-(BOOL)searchBar: (UISearchBar )searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString )text;

书本按钮点击的回调
- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar;

取消按钮点击的回调
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar;

搜索结果按钮点击的回调
- (void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar;

搜索栏的附加试图中切换按钮触发的回调
-(void)searchBar:(UISearchBar*)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope;


复制代码

转载于:https://juejin.im/post/5a311bc56fb9a04528467ce9

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值