0

我想样式UISearchBar的占位符属性。因为据我所知,这是做不到的,我发明了一个黑客,允许我这样做:我在UISearchBar后创建一个UITextField,并显示UITextField的占位符。当搜索栏被修改时,我希望UISearchBar成为第一个响应者,并且也消除UITextField中的占位符文本。在uisearchbar下为占位符设置UITextField

所以我的具体问题:如何在UISearchBar后面创建UITextField,设置占位符文本并在触摸UISearchBar时使其消失。

+0

您可以深入研究'UISearchBar'子视图结构并找到它具有的嵌套'UITextField'。然后设置文本字段的“属性”属性。没有真正需要创建第二个文本字段。 – rmaddy 2014-09-12 23:21:13

+0

如果你想要做的只是改变占位符的颜色,请参阅http://stackoverflow.com/questions/11827585/uisearchbar-change-placeholder-colour – rmaddy 2014-09-12 23:26:59

+0

@maddy我已经这样做了,但似乎没有办法实际更改占位符文本的对齐方式(默认=居中) – bdv 2014-09-13 13:32:52

回答

0

这应该是相当容易的。我会添加UITextFieldUISearchBar相同的帧,并可能调整edgeInset,这取决于您希望占位符文本的样子。 然后将UITapGestureRecognizer添加到UITextField,它在注册水龙头时隐藏了TextField并调用了UISearchBar-becomeFirstResponder方法。