设置UISearchBar

更改searchBar的背景颜色及搜索框的颜色

- (UISearchBar *)searchBar{

if (!_searchBar) {

_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 14.5, self.view.frame.size.width, 46.5)];

_searchBar.searchBarStyle = UISearchBarStyleProminent;

_searchBar.placeholder = @"xxxxx";

[_searchBar setBackgroundColor:[UIColor whiteColor]];

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

for (UIView *view in [_searchBar.subviews firstObject].subviews) {

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

[(UITextField *)view addTarget:self action:@selector(searchBarSearchAction:) forControlEvents:UIControlEventEditingChanged];

[(UITextField *)view setBackground:nil];

view.backgroundColor = COLORRGB(247, 247, 247);

}

}

[_searchBar setShowsCancelButton:YES];

for (UIView *cancelBT in [_searchBar.subviews lastObject].subviews) {

//设置取消按钮

if ([cancelBT isKindOfClass:[UIButton class]]) {

UIButton *btn = (UIButton *)cancelBT;

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

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

btn.enabled = YES;//使其不在搜索状态是也可以更改

}

}

_searchBar.delegate = self;

}

return _searchBar;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容