UISearchBar系统的颜色是蓝色,而且默认文本是cancel或“取消”(语言环境设为China时),我们的项目中很多时候是需要修改取消按钮的属性的,特别是需要修改取消按钮的文本颜色,对于修改UISearchBar取消按钮的文本和颜色的方法,在iOS7之前一般用的方法是通过遍历UISearchBar实例对象的子视图来找到取消按钮,从而进行相应的修改,可惜的是,在iOS7之后这个方法貌似没有那么好用了,这里我推荐一个方法,很简洁也很实用,原理和上面提到的方法类似,只是方式不同,下面直接上代码。
//初始化UISearchBar对象,kMainWidth是屏幕宽度的宏
UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, kMainWidth, 44)];
searchBar.placeholder = @"搜索";
searchBar.showsCancelButton = YES;
//找到取消按钮
UIButton *cancleBtn = [searchBar valueForKey:@"cancelButton"];
//修改标题和标题颜色
[cancleBtn setTitle:@"取消" forState:UIControlStateNormal];
[cancleBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[self.view addSubview:searchBar];
修改后的效果如下图所示,
到此结束,是不是很方便啊,如果感觉这个对你有用,请随手赞一个吧,谢谢!