1

Dynamic Type をサポートするいくつかの見出しとテキストの段落をレイアウトしたいアプリのアプリ内ガイドに取り組んでいます。

単一の UITextView を使用する最も簡単な方法は何ですか? (テキストは別のテキスト ファイルからロードすることをお勧めします)。

これには多くのアプローチがあります。

  • UIWebViews (オーバーキル??)
  • UITextView と NSAttributedString?
  • テキスト キット - この単純なタスクに対して、どちらが面倒に思えますか?

ご希望のレイアウト・機能例

4

2 に答える 2

1

UIWebView は、この問題に対する最も簡単な解決策です。プロジェクトで html ファイルを別のファイルとして作成し、実行時にバンドルからロードできます。

NSString *path = [[NSBundle mainBundle] pathForResource:@"info" ofType:@"html"];
NSString *file = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[self.webView loadHTMLString:file baseURL:baseURL];

baseURL トリックを使用すると、html 内で使用することもでき、アプリ バンドル内の画像を見つけることができます。

于 2014-02-21T22:53:51.300 に答える
1

を使用すると、UITextView必要なものが得られるはずです。ファイルからテキストを読み取り、ユーザーが決定したカテゴリ サイズに従ってフォントを設定します。iOS7以降、 を使って簡単なHTMLファイルを属性付き文字列として読み込めるinitWithFileURL:options:documentAttributes:error:ようになり、ファイル内に簡単なスタイルやテキストを設定できるようになりました。HTML ファイルを読み取るときに、属性付き文字列で正しいフォントを取得するには、HTML のフォントとしてとを使用font:-apple-system-headline;します。font:-apple-system-subheadline;font:-apple-system-body;

UIContentSizeCategoryDidChangeNotificationユーザーが好みのカテゴリを変更したときに通知を聞いて、それに応じてフォントを設定したり、データをリロードしたりできます。

于 2014-02-21T22:55:09.390 に答える