我的目标是将美分显示为带有蓝色小字体的上标。我正在做以下
self.superScript = @"8899";
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:self.superScript];
UIFont *font = [UIFont systemFontOfSize:18.0f];
UIFont *smallFont = [UIFont systemFontOfSize:9.0f];
[attString beginEditing];
[attString addAttribute:NSFontAttributeName value:(font) range:NSMakeRange(0, self.superScript.length - 2)];
[attString addAttribute:NSFontAttributeName value:(smallFont) range:NSMakeRange(self.superScript.length - 2, self.superScript.length - 2)];
[attString addAttribute:(NSString*)kCTSuperscriptAttributeName value:@"2" range:NSMakeRange(self.superScript.length - 2, self.superScript.length - 2)];
[attString addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)([[UIColor blueColor] CGColor]) range:NSMakeRange(self.superScript.length - 2, self.superScript.length - 2)];
[attString endEditing];
self.amount.attributedText = attString;
但是我得到的是
并且上标不是蓝色。
关于这一点的任何想法。
最佳答案
这可能只是一个错误的属性名称问题,因为我怀疑您在此代码之前或之后没有明确地执行CoreText的任何操作。
对于您的属性字符串try using these attributes instead:
[attString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(self.superScript.length - 2, self.superScript.length - 2)];
关于ios - 为下标kCTForegroundColorAttributeName,ios设置颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17553222/