我们可以在UISearchBar中调整文本大小或装饰文本吗?

时间:2013-10-10 11:06:34

标签: objective-c uisearchbar xcode5

enter image description here

基本上我希望文本更小(或自动收缩)。

我希望文本的某些部分有不同的颜色。我喜欢附近的蓝色和不同的小字体。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

你真的需要使用UISearchBar吗?我有一个类似的问题,并通过使用UITextField解决它。您可以自定义UITextField,使其看起来与UISeachBar相同。

UITextField的优点:您可以使用属性文字!这是自iOS 6.0以来可用的功能,您甚至可以在文本字段属性检查器中进行修改。要以编程方式设置属性文本,请使用textField.attributedText属性。 您可以随意更改文字!看看NSAttributedString。有了它,你可以修改你的字符串,如上所述。

答案 1 :(得分:2)

我猜没有,你无法直接在UISearchBar中装饰文字。

但是UISearchBar里面有一个UITextField,但没有属性可以访问它。所以,没有办法以标准的方式做到这一点。但是有一种非标准的解决方法。 UISearchBar继承自UIView,您可以使用[searchBar subviews]访问它的子视图。如果您在控制台中打印它的子视图,您将看到它有这些视图。

 UITextField *textField = [[searchBar subviews] objectAtIndex:1];

for ios7 use this用于geting textfiled。

使用NSAttributedString后,您可以将颜色或字体设置为textfiled。

答案 2 :(得分:0)

以下两个例子可以查看它们。

OHAttributedLabel

TTTAttributedLabel