たとえば、ブログの記事を表示するiPhoneアプリケーション用のUIView
を作成している場合。
記事の本文を表示するためにどのUIコンポーネントを推奨しますか? UILabel
とnumberOfLines
はゼロに等しいか、またはUITextView
はスクロールなしで固定サイズですか?
どうして?
これは、あなたが何をしようとしているのかによります。
編集機能や選択機能のない静的テキストを表示する必要がある場合は、UILabel
を使用し、必要に応じてUIScrollView
に配置する必要があります。
選択または編集が必要な場合は、UITextView
を使用します。
返信が遅くなってすみませんが、これは誰かを助けるかもしれません。
AppleのiOS用テキストプログラミングガイドによると、UILabelは静的テキスト文字列を表示するラベルを定義します。 UITextFieldは、編集可能なテキストを1行表示するテキストフィールドを定義します。 UITextViewは、複数行の編集可能なテキストを表示するテキストビューを定義します。これらのクラスは実際には任意の量のテキストの表示をサポートできますが、ラベルとテキストフィールドは比較的少量のテキスト(通常は1行)で使用することを目的としています。一方、テキストビューは、大量のテキストを表示するためのものです。
詳細については、次を確認してください: iOS用テキストプログラミングガイド
記事の本文を表示するためにどのUIコンポーネントを推奨しますか? numberOfLinesが0に等しいUILabelまたはスクロールせずに固定サイズのUITextView?
アプリでのテキストコンテンツの使用に関するガイドラインについては、Appleの公式 documentation を参照してください。
それによると、UIKit
フレームワークは、アプリのユーザーインターフェースでテキストコンテンツを表示するための3つの主要なクラス、UILabel
、UITextField
、およびUITextView
を提供します。
以下の行は、特定のユースケースの可能な推奨事項を示しています。
これらのクラスは実際には任意の量のテキストの表示をサポートできますが、ラベルとテキストフィールドは比較的少量のテキスト(通常は1行)で使用することを目的としています。一方、テキストビューは、大量のテキストを表示するためのものです。
記事を表示するユースケースを検討する場合、それが実質的なテキストコンテンツを持っていると想定することは公正です。したがって、上記のガイドラインを適用すると、UITextView
がその仕事に適したツールとなるようです。
次に、ユーザーが記事のテキストを読んでいるとき、UITextView
には選択可能なテキストがあります。これは、ユーザーが記事から特定の行をコピーしたり、デバイスにテキストを話させたりできることを意味します。