回答
NSString *twoWords = @"Green Red";
NSArray *components = [twoWords componentsSeparatedByString:@" "];
NSRange greenRange = [twoWords rangeOfString:[components objectAtIndex:0]];
NSRange redRange = [twoWords rangeOfString:[components objectAtIndex:1]];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:twoWords];
[attrString beginEditing];
[attrString addAttribute: NSForegroundColorAttributeName
value:[UIColor greenColor]
range:greenRange];
[attrString addAttribute: NSForegroundColorAttributeName
value:[UIColor redColor]
range:greenRange];
[attrString endEditing];
然後可以使用直接在一個UILabel attrString(>的iOS 6,檢查Apple Documentation)。
This question地址獲取字符串的一部分,你需要做的。儘管如此,您可以使用this question來了解如何更改顏色,而不是使用BOLD修改文本。
通過使用NSAttributedString字符串,您可以設置兩種不同的顏色。 NSAttributedString
最簡單的方法是在iOS 6.0或更高版本中使用nsattributedstring。你會分配其中的一個,並在titleLabel
(或任何其他持有文本的對象)中分配UITableViewCell
。如果您使用的titleLabel
你可以這樣做:
[cell.titleLabel setAttributedText:yourAttributedString];
要設置與NSAttributedString
的顏色,這樣做:
NSMutableAttributedString* attributedString = [[NSMutableAttributedString alloc] initWithString:stringToManipulate];
[attributedString beginEditing];
[attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, widthOfFisrtWord)];
[attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(widthOfFisrtWord, widthOfSecondWord)];
[attributedString endEditing];
注意上面使用NSMakeRange
提供的範圍不會是您需要的範圍。您必須根據自己的需要更改範圍,具體取決於兩個單詞之間是否有空格或其他字符。
蘋果文檔:
哦,非常感謝編輯:D我只是看着如何做到這一點不集羣的答案,我能夠點擊編輯,看看你做了格式化,非常有義務 –
糾正我,如果我錯了,但NSAttributedString不是這樣做的方式。鏈接的文檔似乎無法指定屬性的範圍。但是,您的代碼使用NSMutableAttributedString,其文檔的範圍是:https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/classes/NSMutableAttributedString_Class/Reference/Reference.html#//apple_ref/occ/instm/NSMutableAttributedString/addAttribute:值:範圍: – prewett
這是正確的,在我寫了答案的時候,我想我沒有注意 –
- 1. UITableViewCell詳細信息文本標籤文本顏色
- 2. UITableViewCell setSelected方法顏色文本標籤黑色
- 3. 在UItableViewCell中更改UILabel文本顏色
- 4. PerlTk標籤 - 同一個部件中的不同顏色文本
- 5. libGDX:多種顏色的文本在一個標籤
- 6. 從多標籤上的一個標籤獲取文本UITableViewCell
- 7. 更改UITableViewCell中UILabel的文本顏色
- 8. 如何更改gtkdialog筆記本的標籤顏色和標籤文本顏色
- 9. 更改標籤Widget中的文本顏色和文本大小...?
- 10. matplotlib:顏色條及其文本標籤
- 11. 更改標籤的文本顏色
- 12. GChart文本顏色和軸標籤
- 13. 更改標籤文本顏色RadioButton
- 14. 根據文本更改UITableViewCell中文本的顏色
- 15. 多個文本顏色
- 16. 如何在文本前添加兩個標籤,其中一個標籤是「$」?
- 17. ReportViewer:兩個文本顏色,一個單元格
- 18. 設置基於文本的asp:標籤文本顏色
- 19. UITableViewCell中的SecureText(文本標籤)
- 20. 兩個標籤替換文本 - sed的
- 21. Xamarin MvvmCross iOS Bool顏色ValueConverter不更改標籤文本顏色
- 22. 如何將文本標籤的顏色更改爲UITableViewCellStyleValue1顏色
- 23. 更改默認插入符光標顏色在一個文本
- 24. 文本格式在一個.NET標籤
- 25. 在單個DataGridView中設置兩種顏色文本單元格
- 26. 記事本++標籤顏色
- 27. 在Textmate中,如何更改HTML標籤內文本的顏色?
- 28. 在ActionBarActivity中更改標籤文本的顏色
- 29. 如何動態調整UITableViewCell中兩個文本標籤寬度的大小?
- 30. asp.net將兩個標籤控件關聯到一個文本框
kCTStrokeColorAttributeName < - 看起來像設置統計員的... ...的addAttribute需要一個字符串值,統計員是號碼 –
@A'saDickens你是對的。只是改變了。 – cescofry