テキストフィールド
テキストフィールドは、小さな特定のテキストを人々が入力または編集するための長方形の領域です。
ベストプラクティス
テキストフィールドを使用して、名前やメールアドレスなどの少量の情報を要求します。 人々が大量のテキストを入力できるようにするには、代わりに テキストビュー を使用します。
その目的を伝えるのに役立つヒントをテキストフィールドに表示します。 テキストフィールドには、フィールドに他のテキストがない場合、「メール」や「パスワード」などのプレースホルダテキストを含めることができます。人々が入力を開始するとプレースホルダーテキストは消えるため、人々にその目的を思い出させるために、フィールドを説明する別のラベルを含めることも役立ちます。
安全なテキストフィールドを使用して、個人データを非表示にします。 あなたのアプリがパスワードなどの機密データを要求するときは、常に安全なテキストフィールドを使用してください。開発者向けガイダンスについては、SecureField (SecureField) を参照してください。
可能な限り、テキストフィールドのサイズを予想されるテキストの量に合わせます。 テキストフィールドのサイズは、人々が提供する情報の量を判断するのに役立ちます。
複数のテキストフィールドを均等に配置します。 あなたのレイアウトに複数のテキストフィールドが含まれている場合は、それらの間に十分なスペースを空けて、各紹介ラベルに属する入力フィールドが簡単にわかるようにします。可能な場合は複数のテキストフィールドを縦に積み重ね、一貫した幅を使用してより整理されたレイアウトを作成します。たとえば、住所フォームの姓と名のフィールドは同じ幅で、住所と市区町村のフィールドは異なる幅です。
複数のフィールド間のタブ移動が人々の期待どおりに流れるようにします。 フィールド間をタブで移動する場合、フォーカスは論理的な順序で移動する必要があります。システムは自動的にこの結果を達成しようとするため、あまり頻繁にカスタマイズする必要はありません。
意味がある場合は、フィールドを検証します。 たとえば、フィールドの唯一の正当な値が数字の文字列である場合、人々が数字以外の文字を入力した場合、あなたのアプリは人々に警告する必要があります。データを確認すべき適切なタイミングは、状況によって異なります。メールアドレスを入力するときは、人々がいつフォーカスを変更したかを検証するのが最善です。ユーザー名またはパスワードを作成するときは、フォーカスが別のフィールドに切り替わる前に検証を行う必要があります。
数値フォーマッタを使用して数値データを処理します。 数値フォーマッタは、数値のみを受け入れるようにテキストフィールドを自動的に構成します。また、特定の小数点以下の桁数、パーセンテージ、通貨など、特定の方法で値を表示することもできます。ただし、データの実際の表示を想定しないでください。フォーマットは人々のロケールによって大きく異なるためです。
フォーマットされたテキスト
フィールドのニーズに応じて改行を調整して下さい。 デフォルトでは、システムはテキストフィールドの境界を越えて伸びるテキストをすべてクリップします。または、文字レベルまたは単語レベルでテキストを新しい行に折り返すか、先頭、中間、または末尾で切り捨てる (省略記号で示される) ようにテキストフィールドを設定することもできます。
クリップされたテキスト
折り返されたテキスト
切り捨てられたテキスト
拡張ツールチップを使用して、クリップされたテキストまたは切り捨てられたテキストの完全なバージョンを表示することを検討してください。 拡張ツールチップはヘルプタグのように動作し、ユーザーがフィールド上にポインターを置くと表示されます。
iOS、iPadOS、および tvOS アプリでは、適切なキーボードタイプを表示します。 いくつかの異なるキーボードタイプが利用可能で、それぞれが異なるタイプの入力を容易にするように設計されています。データ入力を効率化するには、テキストビューを編集するときに表示するキーボードがコンテンツのタイプに適している必要があります。ガイダンスについては、スクリーン上のキーボード を参照してください。
tvOS および watchOS アプリでのテキスト入力を最小限に抑えます。 Apple TV や Apple Watch では、長い文章を入力したり、多数のテキストフィールドに入力したりするのは時間がかかります。テキスト入力を最小限に抑え、ボタンを使用するなど、より効率的に情報を収集することを検討してください。
プラットフォームの考慮事項
tvOS に関する追加の考慮事項はありません。
iOS、iPadOS
テキストフィールドの末尾に [クリア] ボタンを表示して、人々が入力内容を消去できるようにします。 この要素が存在する場合、人々はそれをタップしてテキストフィールドの内容を消去できます。Delete キーを何度もタップする必要はありません。
イメージとボタンを使用して、テキストフィールドに明確さと機能性を提供します。 テキストフィールドの両端にカスタムイメージを表示したり、[ブックマーク] ボタンなどのシステムが提供するボタンを追加したりできます。一般に、テキストフィールドの先頭を使用してフィールドの目的を示し、末尾を使用してブックマークなどの追加機能を提供します。
macOS
テキスト入力と選択肢のリストを組み合わせる必要がある場合は、コンボボックスの使用を検討してください。 関連するガイダンスについては、コンボボックス を参照してください。
watchOS
必要な場合にのみテキストフィールドを表示します。 可能な限り、リストからオプションを選択するか、書き取りを使用するか、Scribble(落書き) を使用してデータを入力できるようにしましょう。Apple Continuity Keyboard を使用して、近くにある別のデバイスでテキストを入力することもできます。
リソース
関連
開発者用文書
TextField — SwiftUI (TextField)
SecureField — SwiftUI (SecureField)
UITextField — UIKit (UITextField)
NSTextField — AppKit (NSTextField)
WKInterfaceTextField — WatchKit (WKInterfaceTextField)