1
我嘗試爲我的應用創建夜晚/日期選項。我有一個文本,如"<font color="#aa2c2c">Red text</font>then back to normal "
。 所以我需要紅色保持紅色,只改變無歸屬的顏色。Attributed text swift如何更改未歸屬文本的顏色
這是我嘗試:
text.enumerateAttributesInRange(NSRange(0..<text.length), options: []) { (attributes, range, _) -> Void in
for (attribute, object) in attributes {
NSLog("attr \(attribute) object \(object)")
}
}
}
因此,日誌顯示我的東西,如 「ATTR NSColor對象UIDeviceRGBColorSpace 0 0 0 1」 或 「ATTR NSStrokeColor對象UIDeviceRGBColorSpace 0 0 0 1」。這似乎是我需要改變爲白色的黑色文本。
所以我把這個循環:
if object.name!.containsString("0 0 0 1"){
text.setAttributes(NSForegroundColorAttributeName, value: UIColor.whiteColor() , range: range)
}
我不知道這是否是最好的決定,但我得到的錯誤:在調用額外的參數「價值」。 這有什麼問題,以及只有用非替代文字替換顏色的最佳方法是什麼?
有作爲'NSMutableAttributeString setAttributes沒有這樣的方法:值:範圍:'。有'setAttributes:range:'或'addAttribute:value:range:'或'addAttributes:range:'。 – rmaddy
不要使用對象的描述進行比較,值應該是UIColor,只需比較它即可。 – Larme