3

次の文字‡, †, *を上付き文字としてNSStringin に追加する必要がありますiOS。君の力が必要。次のhttp://en.wikipedia.org/wiki/General_Punctuation_(Unicode_block)リンクを使用していますが、に追加していNSStringますが、上付き文字として使用したい

4

4 に答える 4

11

これを使ってみてください。そして #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];

出力

ここに画像の説明を入力

これがお役に立てば幸いです

于 2013-05-23T07:32:35.903 に答える
2

NSStringテキストの特定の部分をフォーマットすることはできません。テキストをUILabelUITextField、またはで表示する予定がある場合UITextView(アプリを iOS 6 より前のバージョンで実行する必要がない場合)、値が の属性を使用NSAttributedStringして適用できます。を使用している場合は、HTML の要素を使用します。kCTSuperscriptAttributeName@1UIWebView<sup>

于 2013-05-23T07:17:53.937 に答える