イライラする問題に直面しています。文字列の一部の背景色が異なるテキスト文字列を表示するラベルが必要です。
このコードは機能します:
let s = NSMutableAttributedString(string: "test me bar", attributes: [:])
s.addAttribute(NSBackgroundColorAttributeName, value: UIColor.yellowColor(),
range: NSMakeRange(4, 2))
s.addAttribute(NSBackgroundColorAttributeName, value: UIColor.blueColor(),
range: NSMakeRange(8, 2))
self.detailDescriptionLabel.attributedText = s
しかし、これらの呼び出しの 1 つだけを削除してaddAttribute
(どちらでもかまいません)、文字列の 1 つの範囲だけを背景色属性に指定すると、文字列のどこにも背景色が表示されなくなります。
私は iOS 8.1 を使用していますが、これはシミュレーターと iPhone 6 で発生します。コードでこの問題を見つけ、空のプロジェクトで上記のスニペットのみを使用して再現しました。
何か案は?ここで髪を引っ張っています。これは問題の簡略化されたバージョンですが、私のプロジェクトでは、背景色が 1 つの領域だけである文字列を使用できることが重要です。
EDIT背景色の 1 つを に設定するUIColor.clearColor()
と、すべてが期待どおりに機能します。おそらくUIKitのバグを見ているのでしょうか?