首页 > 代码库 > 自定义UISearchBar
自定义UISearchBar
先上系统默认的UISearchBar,然后用KVO修改
UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:_topView.bounds];searchBar.placeholder = @"请输入您要搜索的商品";
效果为:
①将取消按钮cancle改为“取消”
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{ searchBar.showsCancelButton = YES; for(UIView *view in [[[searchBar subviews] objectAtIndex:0] subviews]) { if([view isKindOfClass:[NSClassFromString(@"UINavigationButton") class]]) { UIButton * cancel =(UIButton *)view; [cancel setTitle:@"取消" forState:UIControlStateNormal]; [cancel setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; cancel.titleLabel.font = [UIFont systemFontOfSize:14]; } }}
效果为
②修改searchbar背景色
UIView *backView = [[UIView alloc]initWithFrame:searchBar.bounds];backView.backgroundColor = [UIColor colorWithRed:37/255.0 green:205/255.0 blue:120/255.0 alpha:1];[searchBar insertSubview:backView atIndex:1];
③设置searchbar输入框背景颜色及删减符号mode
UITextField *searchField = [searchBar valueForKey:@"_searchField"];searchField.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.1];searchField.clearButtonMode = UITextFieldViewModeNever;
④修改searchbar输入框的文字和占位符文字颜色
UITextField *searchField = [searchBar valueForKey:@"_searchField"];searchField.textColor = [UIColor whiteColor];[searchField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
⑤修改放大镜图标
UITextField *searchField = [searchBar valueForKey:@"_searchField"];UIImageView *iconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon_search"]];iconView.frame = CGRectMake(0, 0, 15 , 15);searchField.leftView = iconView;
自定义UISearchBar
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。