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