,所以我有一個字符串,它看起來像這樣:Swift , VisualBasic , Ruby
一個字符串轉換爲NSAttributedString以特定的方式
基本上我想後面的創建背景一個單詞,是的,我可以使用NSTokenField庫獲取此行爲,但我的文本不是用戶手動輸入它的預結構化(從數組),我不想要NSTokeField的整個行爲,我只想要這樣的外觀和選擇(通過選擇我的意思是清除一個單詞在退格鍵上,整個單詞不是一個字母)
嗯,我知道如何更改的文字是這樣的
func getColoredText(text: String) -> NSMutableAttributedString {
let string:NSMutableAttributedString = NSMutableAttributedString(string: text)
let words:[String] = text.componentsSeparatedByString(" ")
var w = ""
for word in words {
if (word.hasPrefix("{|") && word.hasSuffix("|}")) {
let range:NSRange = (string.string as NSString).rangeOfString(word)
string.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: range)
w = word.stringByReplacingOccurrencesOfString("{|", withString: "")
w = w.stringByReplacingOccurrencesOfString("|}", withString: "")
string.replaceCharactersInRange(range, withString: w)
}
}
return string
}
的顏色,但我不知道該如何實現我想要什麼,如果有人能提供我一些指導,那麼它會是這樣的幫助我
私人祕書,如果我的問題不夠清楚,那麼請讓我知道我會添加一些更多的細節
@beyouWulf感謝人其工作很好,我想知道我們可以計算所有標籤(組合)的高度?任何想法我們怎麼能? –
我更新了我的答案。在完成標籤布局後,很容易就可以得到它。您可以將'for'循環片段和'if let'片段合併爲一個函數,如'layoutLabelsAndResizeView'或類似的東西。 – beyowulf