标题基本上说明了...我有一个文本字段。当它是第一响应者时,我想使用属性字符串来浏览所有文本,以便向用户指示他们键入的任何内容都将清除它。当它取消第一响应者时,我想删除高亮显示并显示纯文本。这就是我所拥有的:
func toggleHilight() {
self.hilighting = !self.hilighting // This property is initialized to false
if (self.hilighting) {
self.inputURLField.attributedText = NSAttributedString(string: self.inputURLField.text, attributes: [NSBackgroundColorAttributeName : UIColor.blueColor()])
} else {
self.inputURLField.text = BrowserNavManager.sharedInstance.currentURL.absoluteString
}
}
根据Apple的文档,设置" attributionText"财产将清除常规"文本"财产,反之亦然:
text
...在iOS 6及更高版本中,为此属性指定新值也会使用相同的文本替换attributedText属性的值,尽管没有任何固有的样式属性...
attributedText
...为此属性分配新值也会使用相同的字符串数据替换text属性的值,尽管没有任何格式信息......
但对我来说,事实并非如此。事实上,甚至明确设置" attributionText"没有......没有。它仍然记录相同(即非零),并仍显示高亮(归属)文本。我也尝试过调用setNeedsDisplay()
,但没有效果。
我在这里错过了什么?任何帮助表示赞赏!
答案 0 :(得分:0)
解决了......通过设置" selectedTextRange"我找到了一种方法来触发系统hi-lighting(无论如何我试图猿)。文本字段上的属性。