gpt4 book ai didi

ios7 - iOS 7 中 UISearchBar 文本颜色更改

转载 作者:行者123 更新时间:2023-12-03 06:03:25 34 4
gpt4 key购买 nike

如何在iOS 7中更改UISearchBar的文本颜色?

iOS 6中,我对UISearchBar进行了子类化,并在layoutSubviews中自定义了UITextField subview 的属性UISearchBar

但在 iOS 7 中,UISearchBar 没有 UITextField 作为其 subview 。如何解决这个问题?

最佳答案

在 iOS 7 中要访问文本字段,您必须在更多级别上重复。像这样更改您的代码

for (UIView *subView in self.searchBar.subviews)
{
for (UIView *secondLevelSubview in subView.subviews){
if ([secondLevelSubview isKindOfClass:[UITextField class]])
{
UITextField *searchBarTextField = (UITextField *)secondLevelSubview;

//set font color here
searchBarTextField.textColor = [UIColor blackColor];

break;
}
}
}

注意:这不是公共(public) API

您可以使用UIControls的appearance属性,例如

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

注意:外观代理可用于 iOS 9.0+输出

enter image description here

您可以设置tintcolor以应用于搜索栏中的关键元素。

使用 tintColor 为前景元素着色。

使用barTintColor为栏背景着色。

在 iOS v7.0 中,UIView 的所有子类都从基类派生它们的tintColor 行为。有关详细信息,请参阅 UIView 级别的tintColor 讨论。 Apple Doc

关于ios7 - iOS 7 中 UISearchBar 文本颜色更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19048766/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com