2012-05-09 21 views
1

xcodeのマイアプリには、製品データが含まれたテーブルビューがあります。私の製品の1つは、その名前の上付き文字eを持っています。どのように私はのような文字列で上付き文字を使用することができます。私はそれが数字で動作するように取得することができ、テキスト電子文字列IOSの上付き文字

:テキストの\ u2070 - >テキストまたはテキストの\ u2071 - >テキスト。しかし、これを他のキャラクターと一緒にする方法は?

thx!

+1

多分これは役立ちます:http://stackoverflow.com/questions/5080175/how-to-create-subscript-characters-thats-not-in-unicode-in-iosは – Jason

+1

リンクを使用します@ JasonWangはあなたを与えました。私たちはまったく同じ問題に遭遇し、webviewとhtmlを使用して、そこに言ったようにしました。 – BBog

+0

それはいくつかの良い情報がありますが、私はtableviewでwebviewのようなものを使用することはできません。画像でこれを行う唯一の方法はありますか? – Daniel

答えて

2

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

可能な解決策の1つは、インタフェースビルダーの代わりにコードにUILabelsを動的に追加することです。より小さなフォントサイズで2番目のUILabelを追加することができます。

+0

情報のためのThx!より小さなフォントを持つUILabel最良のアプローチと思われます。 – Daniel

2

CoreTextフレームワークを追加し、CoreText.hをインポートし、UIlabel.attributedTextを使用します。これはNSAttributedStringを完全にサポートしています。すでに尋ねられ、何度も答えている。

1

サブスクリプトでは、kCTSuperscriptAttributeNameの値には@ -1を使用します。

文書を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];