web-dev-qa-db-ja.com

iOS UIのベストプラクティス-UILabelまたはUITextView?

たとえば、ブログの記事を表示するiPhoneアプリケーション用のUIViewを作成している場合。

記事の本文を表示するためにどのUIコンポーネントを推奨しますか? UILabelnumberOfLinesはゼロに等しいか、またはUITextViewはスクロールなしで固定サイズですか?

どうして?

23
Gustavo Barbosa

これは、あなたが何をしようとしているのかによります。

編集機能や選択機能のない静的テキストを表示する必要がある場合は、UILabelを使用し、必要に応じてUIScrollViewに配置する必要があります。

選択または編集が必要な場合は、UITextViewを使用します。

38
garrettmurray

返信が遅くなってすみませんが、これは誰かを助けるかもしれません。

AppleのiOS用テキストプログラミングガイドによると、UILabelは静的テキスト文字列を表示するラベルを定義します。 UITextFieldは、編集可能なテキストを1行表示するテキストフィールドを定義します。 UITextViewは、複数行の編集可能なテキストを表示するテキストビューを定義します。これらのクラスは実際には任意の量のテキストの表示をサポートできますが、ラベルとテキストフィールドは比較的少量のテキスト(通常は1行)で使用することを目的としています。一方、テキストビューは、大量のテキストを表示するためのものです。

詳細については、次を確認してください: iOS用テキストプログラミングガイド

17
Vishnu Kumar. S

記事の本文を表示するためにどのUIコンポーネントを推奨しますか? numberOfLinesが0に等しいUILabelまたはスクロールせずに固定サイズのUITextView?

アプリでのテキストコンテンツの使用に関するガイドラインについては、Appleの公式 documentation を参照してください。

それによると、UIKitフレームワークは、アプリのユーザーインターフェースでテキストコンテンツを表示するための3つの主要なクラス、UILabelUITextField、およびUITextViewを提供します。

以下の行は、特定のユースケースの可能な推奨事項を示しています。

これらのクラスは実際には任意の量のテキストの表示をサポートできますが、ラベルとテキストフィールドは比較的少量のテキスト(通常は1行)で使用することを目的としています。一方、テキストビューは、大量のテキストを表示するためのものです。

記事を表示するユースケースを検討する場合、それが実質的なテキストコンテンツを持っていると想定することは公正です。したがって、上記のガイドラインを適用すると、UITextViewがその仕事に適したツールとなるようです。

次に、ユーザーが記事のテキストを読んでいるとき、UITextViewには選択可能なテキストがあります。これは、ユーザーが記事から特定の行をコピーしたり、デバイスにテキストを話させたりできることを意味します。

7
AADProgramming