我有一个UITextField,其初始文本是“username.mysite.com”。设置默认颜色(黑色)。
我希望“用户名”的颜色与灰色不同。有可能吗?
用户可以点击“清除按钮”,而占位符是“url”。
答案 0 :(得分:2)
无法直接使用UITextField。您的基本两个选项是:
使用UIWebView
伪装作为文本字段。这很容易,但它是一把大锤,在某些使用案例中可能会导致性能损失。
使用Core Text显示正确配置的NSAttributedString。虽然该链接似乎适用于Mac OS,但Core Text也存在。该框架非常强大,但具有陡峭的学习曲线,并且不支持开箱即用的可编辑文本。但是,有各种开源库可能有助于入门(例如DTCoreText。OHAttributedLabel)。
答案 1 :(得分:0)
不,默认设置无法实现。
答案 2 :(得分:0)
您可以更改占位符的颜色,通过访问以下私有属性,它会向您显示警告,但它将会很好地工作。
[aTextField setValue:[UIColor yellowColor]
forKeyPath:@"_placeholderLabel.textColor"];
还有另一种方法可以执行此操作,您可以使用自定义实现覆盖drawPlaceholderInRect方法。