文本字段的文本颜色变化

问题描述:

请检查我下面的代码,我用一个navigationbar这是由一个searchbarsearchbar有一个文本框,现在我想改变的textfield文本颜色和我做了下面的代码,但它不是工作,所以请帮助纠正它。文本字段的文本颜色变化

[[UISearchBar appearanceWhenContainedInInstancesOfClasses:@[[UINavigationBar class]]]setTintColor:[UIColor whiteColor]]; 
[[UITextField appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]]setTextColor:[UIColor whiteColor]]; 
+0

添加更多的代码工作。 –

+0

看到这个https://stackoverflow.com/questions/32968907/how-to-change-uisearchbar-textfield-background-color-and-text-color-in-ios8 –

+0

你可以改变文本中的文本的颜色场景从故事板本身。 –

如果您使用的是原生UISearchbar控制,那么你可以改变文字颜色与下面

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]}]; 

代码或者你可以通过身份检查特定searchBar做到这一点: enter image description here

试试这个,

NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews]; 

for (UIView *view in searchBarSubViews) { 
    if([view isKindOfClass:[UITextField class]]) 
    { 
     UITextField *txt = (UITextField*)view; 
     UIImageView *imgView = (UIImageView*)textField.leftView; 
     imgView.image = [imgView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 
     imgView.tintColor = [UIColor whiteColor]; 

     txt.backgroundColor = [UIColor blackColor]; 
     txt.textColor = [UIColor RedColor]; 
     UIButton *btnClear = (UIButton*)[textField valueForKey:@"clearButton"]; 
     [btnClear setImage:[btnClear.imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; 
     btnClear.tintColor = [UIColor whiteColor]; 
    } 
}