【发布时间】:2015-04-28 09:49:38
【问题描述】:
我正在尝试在TTTAttributedLabel、OHAttributedLabel 或SETextView 上设置NSBackgroundColorAttributeName 属性,但这不起作用。有人知道吗?以下是示例代码。
class ViewController: UIViewController {
@IBOutlet weak var textLabel: UILabel!
@IBOutlet weak var ttLabel: TTTAttributedLabel!
@IBOutlet weak var ohLabel: OHAttributedLabel!
@IBOutlet weak var seTextView: SETextView!
override func viewDidLoad() {
super.viewDidLoad()
var content: String = "This is Test."
var text = NSMutableAttributedString(string: content)
text.addAttribute(NSBackgroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, text.length))
textLabel.attributedText = text // It's Work.
ohLabel.attributedText = text // It's not Work
seTextView.attributedText = text // It's not Work
// It's not Work as well
ttLabel.setText(content, afterInheritingLabelAttributesAndConfiguringWithBlock: {
(attributedString) -> NSMutableAttributedString! in
attributedString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.redColor(), range: NSMakeRange(0, attributedString.length))
//attributedString.addAttribute(kTTTBackgroundFillColorAttributeName, value: UIColor.yellowColor(), range: NSMakeRange(1, 3))
return attributedString
})
}
}
另外,我可以在每个label上正确设置“NSForegroundColorAttributeName”。
【问题讨论】:
-
请给出出现在
ohLabel.attributedText = text这一行的确切错误信息。 -
没有出现错误,文本没有采用背景色。我只能在 UILabel 上看到背景颜色的文字,其他没有改变,“这是测试”,没有背景颜色。
-
所以
seTextView和ohLabel不是UILabel类型?他们是什么类型的? -
SETextView 是 UITextView 的子类,OHAttributedLabel 是 UILabel 的子类。这两个类都是著名的 OSS。
-
感谢 ericd:D 最后通过修改 SETextView 库的代码使其能够设置 NSBackgroundColorAttributeName 来解决问题。我要拉取图书馆的请求。
标签: swift xcode6 tttattributedlabel ohattributedlabel