如何在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
不允许你格式化文本的特定部分。 如果您计划在UILabel
, UITextField
或UITextView
显示文本(并且您的应用程序不必在iOS 6以下的任何位置运行),则可以使用NSAttributedString
并应用值为@1
的kCTSuperscriptAttributeName
属性。 如果您使用的是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
输出: