答えて
私はこの質問が少し古くなっていることに気付きました。あなたはまだこの問題について助けが必要であり、この投稿があなたに役立つことを願っています。
NSAttributedString(またはその可変対応NSMutableAttributedString)を使用して、単一の文字列の特定の範囲に異なる属性(フォント、名前とサイズの両方など)を割り当てることができます。
上付き文字と下付き文字は、コアテキストでネイティブにサポートされていないため、非常に多くの作業を行う必要があります。幸いにもOliver Drobnikが開発したカカオ遺伝学のオープンソースプロジェクトでは、HTMLをNSAttributedString(またはNSMutableAttributedString)に簡単に変換し、カスタムのテキストビューに送り、上付き文字と下付き文字を他のHTMLやCSSとともに表示できますUIWebviewに表示されますが、UIWebviewを使用する必要はありません。プロジェクトはhereからダウンロードできます。
多くの労力がこのプロジェクトに入れてきたが、2つの注意点があります。
- 計算は非常にパフォーマンスの集中的な時間で可能に。
- まだすべてのHTMLタグとCSS機能がサポートされているわけではありません。
IF NSAttributedStringは、コアテキストではなくNSAttributedStringで上付き文字/下付き文字エフェクトを作成することができます。これは私がそれをやった方法です:
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:myString];
// Everything except the first character is rendered with the regular size/position
[str addAttribute:NSFontAttributeName
value:font
range:NSMakeRange(1, [amountString length]-1)]; // Everything except the first character is rendered with the regular size/position
// First character is 5/8 normal size
[str addAttribute:NSFontAttributeName
value:[UIFont fontWithName:initialFont.fontName
size:initialFont.pointSize/8*5]
range:NSMakeRange(0, 1)];
// Set the baseline offset to push the first character into a superscript position
[str addAttribute:@"NSBaselineOffset"
value:[NSNumber numberWithFloat:initialFont.pointSize*1/3]
range:NSMakeRange(0, 1)];
キー行はスーパー/サブスクリプトテキストのサイズを小さくすると、それは垂直方向の位置だ変える最後の二つ、あります。定義済みの属性名定数(NSBaselineOffsetAttributeName)の代わりに文字列(@ "NSBaselineOffset")を使用していることには注意してください。私が集めることができたことから、私はNSBaselineOffsetAttributeNameがMac用ライブラリで定義されているが、iOS用では定義されていないと信じています。結果として、属性名の定数ではなく、文字列自体を使用しました。
'@" NSBaselineOffset "はiOSでは動作しませんiOS 8.3)。 – wangii
私はキーが "CoreTextの代わりに"だと思います。私はCoreTextを使ってPDFコンテンツを生成していますが、上付き文字や下付き文字は何もありません。同じアプリケーションでは、私はUILabelで上記の(より小さなフォント+ベースラインシフト)を使用しており、それは素晴らしい作品です。 –
- 1. WP7の上付き文字と下付き文字
- 2. javafxの上付き文字と下付き文字
- 3. Android .setmesage(下付き文字または上付き文字)
- 4. MathML - 左下付き文字と上付き文字
- 5. ggplot2の下付き文字
- 6. 下付き文字R
- 7. ggplot2の上付き文字と下付きポイント
- 8. migradocでpdfの上付き文字と下付き文字を追加
- 9. Gnuplot:x軸とy軸のラベルの下付き文字と上付き文字
- 10. 上付き文字と下付き文字を持つセルを見つける
- 11. xmlの上付き文字の下付き文字を書くには?
- 12. 制限外の下付き文字
- 13. 下付き文字:sum = sum(s)
- 14. Workbook.ActiveSheetのランタイムエラー9(下付き文字)Workbook.ActiveSheet
- 15. 下付き文字の範囲外
- 16. 文字列ビルダーの下線付きテキスト
- 17. 動的下線付き文字
- 18. 下付き文字のUTF8記号
- 19. 下付き文字エラー - ワークシートの結合
- 20. ランタイムエラー '9'下付き文字範囲外
- 21. プロットの下付き文字R
- 22. 下付き文字でのトラブル
- 23. TinyMCEの貼り付け時に上付き文字と下付き文字しか保持しない
- 24. C++文字列下付き文字範囲外
- 25. アクセント付き文字
- 26. +文字付きノード
- 27. グラフィカルユーザーインターフェイス(GUI)で表示されるMatlabの下付き文字と上付き文字の書き方は?
- 28. ActiveAdminページで下付き文字と上付き文字を表示できますか?
- 29. iPhoneの斜体、太字、下線付きフォント
- 30. ブックを選択するときに下付き文字
ありがとうございました... – SST
他の人の将来の参考情報として、このプロジェクトは現在https://github.com/Cocoanetics/DTCoreTextにあります。 – Glinkot