"NSMutableAttributedString"の色を変更するために次の拡張子を使用していますが、そのトリックはうまくいきました。これは、テンプレートとしてwekwaたくさん
extension NSMutableAttributedString
{
func changeColourOf(_ terms:[String],toThisColour termsColour:UIColor,andForegroundColour fontColour:UIColor)
{
// Set your foreground Here
self.addAttributes([NSForegroundColorAttributeName:fontColour], range:NSMakeRange(0, self.length))
//Convert "NSMutableAttributedString" to a NSString
let string = self.string as NSString
//Create a for loop for ther terms array
for term in terms
{
//This will be the range of each term
let underlineRange = string.range(of: term)
//Finally change the term colour
self.addAttribute(NSForegroundColorAttributeName, value: termsColour, range: underlineRange)
}}}
例
let someMutableStr = NSMutableAttributedString(string: "Hello World 2017 !")
someMutableStr.changeColourOf(["Hello","2017"], toThisColour: .blue, theStringFontColour: .red)
感謝を使用することができます。それは働いた。 – Arun
アプリケーションの終了:[__NSCFString addAttributes:range:]:認識できないセレクタがインスタンスに送信されました...どうしたのですか? – Morkrom
@Morkrom - おそらく手遅れですが、 'addAttributes:range:'を 'NSMutableAttributedString'以外のものに送信しています(おそらく' NSString'のようですが、 。) – ArtOfWarfare