Mar*_*iam 3 objective-c uitextview uicolor nsmutableattributedstring
我有一个段落正在使用NSMutableParagraphStyle管理行高。另外,我想在段落中更改一个单词的颜色,这是我正在使用的代码,但它只是更改了一个单词的颜色(attributedText被覆盖),我该如何解决?有帮助吗?
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineHeightMultiple = 1.45f;
paragraphStyle.alignment = UITextAlignmentRight;
NSDictionary *ats = @{
NSFontAttributeName : [UIFont fontWithName:@"Helvetica"
size:currentSize],
NSParagraphStyleAttributeName : paragraphStyle,
};
ayaTxt.attributedText = [[NSAttributedString alloc] initWithString:ayaTxt.text
attributes:ats];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]
initWithString:ayaTxt.text];
NSRange range = [[AyatWords objectAtIndex:aya] rangeOfString:@":"];
[attrString addAttribute:NSForegroundColorAttributeName
value:[UIColor colorWithRed:(25.0/255.0)
green:(168.0/255.0)
blue:(167.0/255.0)
alpha:1.0]
range:NSMakeRange(0, range.location + 1)];
ayaTxt.attributedText = attrString;
Run Code Online (Sandbox Code Playgroud)
谢谢 ..
我解决了:)
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithString:wordsTxt.text];
NSRange range = [[AyatWords objectAtIndex:aya] rangeOfString:@":"];
NSRange wholeRange = NSMakeRange(0, as.length);
[as addAttribute:NSForegroundColorAttributeName
value:[UIColor colorWithRed:(25.0/255.0)
green:(168.0/255.0)
blue:(167.0/255.0)
alpha:1.0]
range:NSMakeRange(0, range.location + 1)];
[as addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:currentSize]
range:wholeRange];
NSMutableParagraphStyle *ps = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
ps.lineHeightMultiple = 1.45f;
ps.alignment = UITextAlignmentRight;
[as addAttribute:NSParagraphStyleAttributeName value:ps range:wholeRange];
wordsTxt.attributedText = as;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2998 次 |
| 最近记录: |