NSString中的超级序数后缀

时间:2011-05-06 01:21:12

标签: cocoa-touch ios unicode nsstring

NSString中是否有一种方法可以输出st,nd和rd但是采用上标格式?也许任何已知的unicode?

1 个答案:

答案 0 :(得分:2)

似乎没有任何Unicode字符,但是很容易制作一个可以解决这个问题的NSAttributedString

NSDictionary * superscriptAttrs = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1] 
                                                         forKey:NSSuperscriptAttributeName];
NSAttributedString * st = [[NSAttributedString alloc] initWithString:@"st"
                                                              attributes:superscriptAttrs];

NSMutableAttributedString * premiere = [[NSMutableAttributedString alloc] initWithString:@"1"];

[premiere appendAttributedString:st];
// Don't forget to release everything when you're done with it!

您可能还想更改上标的字体大小。这是通过在属性字典中包含NSFontAttributeName和适当的字体对象来实现的。请注意,NSAttributedString仅适用于iOS 4.0及更高版本的iPhone以及3.2+版本的iPad(请参阅评论)。