如何在iOS中将以下字符‡,†,*作为上标附加到NSString

我需要在iOS追加以下字符‡, †, *作为上标到NSString 。 需要你的帮助。 我使用下面的http://en.wikipedia.org/wiki/General_Punctuation_(Unicode_block)链接,但他们追加到NSString ,但我希望他们作为上标

尝试使用这一个。 你需要#import <CoreText/CTStringAttributes.h> 。 此代码仅适用于iOS6或更高版本。

 UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 200, 40)]; NSString *infoString=@"X2 and H20 A‡ B† C*"; NSMutableAttributedString *attString=[[NSMutableAttributedString alloc] initWithString:infoString]; [attString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@1 range:NSMakeRange(1, 1)]; [attString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@-1 range:NSMakeRange(8, 1)]; [attString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@1 range:NSMakeRange(12, 1)]; [attString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@1 range:NSMakeRange(15, 1)]; [attString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@1 range:NSMakeRange(18, 1)]; lbl.attributedText = attString; [self.view addSubview:lbl]; 

产量

在这里输入图像说明

我希望这能帮到您

NSString不允许你格式化文本的特定部分。 如果您计划在UILabelUITextFieldUITextView显示文本(并且您的应用程序不必在iOS 6以下的任何位置运行),则可以使用NSAttributedString并应用值为@1kCTSuperscriptAttributeName属性。 如果您使用的是UIWebView ,请使用HTML的<sup>元素。

这是你可以实现的:

 NSString *string = @"abcdefghi"; NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string]; NSInteger num1 = 1; CFNumberRef num2 = CFNumberCreate(NULL, kCFNumberNSIntegerType, &num1); [attrString addAttribute:(id)kCTSuperscriptAttributeName value:(id)CFBridgingRelease(num2) range:NSMakeRange(6, 3)]; self.label.attributedText = attrString; 

其中label是已经添加到UI的UILabel属性。

确保你先添加CoreText框架,在你的.m文件的顶部添加这一行。

希望它以某种方式帮助你

迅速

步骤1。

  import CoreText 

第2步。

  let range1 = NSMakeRange(1, 1) let range2 = NSMakeRange(5, 1) let mutableStr : NSMutableAttributedString = NSMutableAttributedString(string: "h20 x2") mutableStr.addAttribute(kCTSuperscriptAttributeName as String, value:-1, range: range1) mutableStr.addAttribute(kCTSuperscriptAttributeName as String, value:1, range: range2) self.lbl.attributedText = mutableStr 

输出:

在这里输入图像说明