我使用下面的代码来更改UISearchBar文本字段的背景颜色.
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setDefaultTextAttributes:@{
NSForegroundColorAttributeName : [UIColor redColor],
NSFontAttributeName : [UIFont systemFontOfSize:15]
}];
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用,任何人都可以给出解决方案.提前致谢
Abh*_*nav 20
试试这个:
UITextField *searchField = [self.searchBar valueForKey:@"searchField"];
// To change background color
searchField.backgroundColor = [UIColor blueColor];
// To change text color
searchField.textColor = [UIColor redColor];
// To change placeholder text color
searchField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Some Text"];
UILabel *placeholderLabel = [searchField valueForKey:@"placeholderLabel"];
placeholderLabel.textColor = [UIColor grayColor];
Run Code Online (Sandbox Code Playgroud)
试试这个代码
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setBackgroundColor:[UIColor grayColor]];
Run Code Online (Sandbox Code Playgroud)
要么
试试这个
- (void)viewDidLoad
{
[super viewDidLoad];
//change the background color
[[self searchViewForTextFieldBg:self.searchTextfield] setBackgroundColor:[UIColor grayColor]];
//change the textcolor
self.searchTextfield.textColor =[UIColor greenColor];
}
- (UITextField*)searchViewForTextFieldBg:(UIView*)view
{
if ([view isKindOfClass:[UITextField class]]) {
return (UITextField*)view;
}
UITextField *searchTextField;
for (UIView *subview in view.subviews) {
searchTextField = [self searchViewForTextFieldBg:subview];
if (searchTextField) {
break;
}
}
return searchTextField;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13447 次 |
| 最近记录: |