1

xcodeの私のアプリには、いくつかの製品データを含むテーブルビューがあります。私の製品の1つには、名前に上付き文字eが含まれています。次のような文字列で上付き文字を使用するにはどうすればよいですか:text e

数字で動作させることができます:text \ u2070-> text0またはtext\u2071-> text1。しかし、他のキャラクターでこれを行う方法は?

どうも!

4

3 に答える 3

2

tl; dr:NSStringはスーパー/サブスクリプトの概念をサポートしていません。それは多かれ少なかれUIフォーマットの問題です。

考えられる解決策の1つは、インターフェイスビルダーではなくコードにUILabelを動的に追加することです。フォントサイズが小さい2番目のUILabelを追加できます。

于 2012-05-09T08:49:08.707 に答える
2

CoreTextフレームワークを追加し、CoreText.hをインポートし、UIlabel.attributedTextを使用します。NSAttributedStringを完全にサポートしています。すでにSOについて繰り返し質問と回答がありました。

于 2013-09-16T07:41:56.770 に答える
2

SubScriptの場合、kCTSuperscriptAttributeNameの値を@-1として使用します。

ドキュメントによると

@discussion値はCFNumberRefである必要があります。デフォルトはint値0です。指定されたフォントでサポートされている場合、値1は上付きを有効にし、値-1は下付きを有効にします。

extern const CFStringRef kCTSuperscriptAttributeName CT_AVAILABLE(10_5、3_2);

Example- [lblHeader setText:@“Headers [Alpha1 – text”];

        NSMutableAttributedString *headerSubscript = [[NSMutableAttributedString alloc]initWithAttributedString: lblHeader.attributedText];

        [headerSubscript addAttribute:(NSString *)kCTSuperscriptAttributeName value:@-1 range:NSMakeRange(14,1)];      

        [lblHeader setAttributedText:headerSubscript];
于 2015-08-27T11:08:05.450 に答える