I wasn't able to get NSSuperscriptAttributeName to work but had success with the following:
UILabel *label = [[UILabel alloc] init];
NSString *string = @"abcdefghi";
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];
NSInteger num1 = 1;
CFNumberRef num2 = CFNumberCreate(NULL, kCFNumberNSIntegerType, &num1);
[attrString addAttribute:(id)kCTSuperscriptAttributeName value:(id)num2 range:NSMakeRange(4,2)];
label.attributedText = attrString;
[attrString release];
This gives you:
Assigning the attributed String to a label via label.attributedText is new with 6.0, but the way the attributed string is set-up might work with earlier versions of iOS.
Sending a negative value to kCTSuperscriptAttributeName give you a subscript.
Don't forget to add the CoreText framework.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…