如何设置UISearchBar占位符的文本颜色

时间:2014-09-09 13:44:36

标签: ios objective-c uisearchbar

我有一个深色背景颜色的UISearchBar,所以我试图改变UISearchBar的占位符文本颜色(默认情况下会是灰色的)但是我没有找到设置它的方法。所以我想得到一些帮助:)请建议我如何实现这一点,提前谢谢:)

2 个答案:

答案 0 :(得分:5)

注意:当我写这个答案时,我正在研究iOS 7&此解决方法也适用于iOS 8。它可能不适用于 iOS 9

好的,我发布这个问题已经两天了。虽然我得不到答案,但我得到了解决这个问题的方法。

注意:我正在为我的应用程序使用storyboard&我已经将UISearchBar子类化了,这个解决方法对我来说就像一个宝石。

首先,当UILabel包含在UISearch bar类中时,首先添加一个外观代理:

[[UILabel appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor whiteColor]];//change the color to whichever color needed

然后最重要的是如果你正在使用故事板,你必须并且应该在属性检查器的占位符字段中写一些文本,如下所示

如果您忘记在占位符字段中写一些内容,那么当您运行应用程序时,这个技巧肯定不会起作用,占位符文本将以通常的灰色显示。

完成在占位符字段中编写一些文本后,在UISearchBar子类中设置占位符文本,如下所示:

self.placeholder = @"My Placeholder text";

现在运行应用程序!你将获得你在appdelegate中设置的颜色的占位符文本:)希望这有助于某人:)

答案 1 :(得分:-1)

这是解决方案

[searchBar setValue:[UIColor blueColor] forKeyPath:@"_searchField.textColor"];