このモードは、コンパクトスタイルにはありません。日付ピッカーに表示される値とその順序は、ユーザーのロケールによって異なります。スペースが限られている場合は、コンパクトな日付ピッカーを使用してください。コンパクトなスタイルでは、折りたたむと、アプリのアクセントカラーで現在の値を示すボタンが表示されます。ユーザーがボタンをタップすると、日付ピッカーがモーダルビューに展開され、使い慣れたカレンダースタイルのエディタと時間ピッカーにアクセスできます。モーダルビューの中で、ユーザーは日付や時刻を何度も編集することができ、ビューの外をタップして選択を確認することができます。分を指定する際の粒度を小さくすることを検討します。59)が含まれています。均等に分割される限り、任意に増やすことができます。時間間隔(0、15、30、45)で指定することもできます。#アプリケーションがコンテンツをロードしたり、長時間のデータ処理を実行したりするのを、静止した画面を見ながら待たせるのはやめましょう。アクティビティインジケータやプログレスバーを使用して、アプリが停止していないことや、待ち時間の目安を知らせるようにしましょう。「Loading」も参照してください。#アクティビティインジケータは、複雑なデータの読み込みや同期など、数値化できないタスクが実行されている間、回転します。タスクが完了すると消えてしまいます。アクティビティインジケータは非対話型です。アクティビティ指標よりもプログレスバーを優先する。アクティビティが数値化できる場合は、アクティビティ指標の代わりにプログレスバーを使用すると、何が起きているのか、どれくらいの時間がかかるのかをより正確に把握することができます。アクティビティインジケータは常に動かし続ける。アクティビティインジケータが止まっていると、プロセスが停滞していると思われます。何かが起こっていることがわかるように、常に回転させてください。役に立つのであれば、タスクが完了するのを待つ間に有益な情報を提供しましょう。アクティビティインジケータの上にラベルを貼り、コンテキストを追加します。読み込みや認証などの曖昧な用語は、通常何の付加価値もないので避けましょう。#プログレスバーには、左から右へと流れていくトラックが含まれており、既知の期間を持つタスクの進行状況を示します。プログレスバーはインタラクティブではありませんが、対応する操作をキャンセルするためのボタンが付いていることが多いです。常に正確な進捗状況を報告する。アプリを忙しく見せるために、不正確な進捗情報を表示してはいけません。プログレスバーは、数値化できるタスクにのみ使用してください。それ以外の場合は、アクティビティインジケータを使用してください。期間が明確なタスクにはプログレスバーを使用します。プログレスバーは、タスクの状態を表示するのに適しています。タスクが完了するまでの時間を伝えるのに役立ちます。ナビゲーションバーやツールバーでは、トラックの未記入部分を隠す。デフォルトでは、プログレスバーのトラックには、塗りつぶした部分と塗りつぶしていない部分があります。ナビゲーションバーやツールバーで使用する場合、ページの読み込みを示す場合などは、トラックの未記入部分を隠すようにプログレスバーを設定する必要があります。アプリに合わせてプログレスバーの外観をカスタマイズすることを検討してください。プログレスバーの外観は、アプリのデザインに合わせて調整できます。トラックと塗りつぶしの両方にカスタムの色調や画像を指定できます。ディスプレイを搭載したデバイスでは非推奨となっています。以前およびエッジツーエッジディスプレイを搭載していないデバイスでは、ネットワーク接続が行われると、画面上部のステータスバーにネットワークアクティビティインジケータが回転します。ネットワーク接続が完了すると、このインジケータは消えます。このインジケータは、アクティビティインジケータと同じように見え、非インタラクティブです。このインジケータは、数秒以上のネットワーク操作の場合にのみ表示されます。このインジケータは、その存在に気付いたり、何を伝えようとしているのかを理解する前に消えてしまう可能性があるため、短時間のネットワーク操作では表示しないでください。以降では、ボタンにプルダウンメニューを表示することができます。プルダウンメニューには、ユーザーが選択できるアイテムやアクションがリストアップされます。プルダウンメニュー(または単にメニュー)は、ボタンのアクションに直接関連するアイテムを提供したり、現在のコンテキストで有用なアクションのリストを提供したりするために使用できます。メニューには、アクションシートやコンテキストメニュー、ポップオーバーと比べていくつかの利点があります。以下のようなものです。メニューは、それを表示するボタンのすぐ近くで開くので、人々はメニューのアイテムと実行中のアクションの関係を即座に理解することができます。メニューには、アクションのリストだけでなく、そのアクションに影響を与えるための選択項目も用意されています。メニューはすばやく表示され、表示されたときに画面が暗くならないので、移行と全体的な体験の両方に軽快さが感じられます。すべてのアクションをメニューに入れないでください。メニューを使えば、インターフェースを混乱させることなく、さまざまなアイテムを提供できます。回タップしなければならなくなります。引き続き、最も重要なアクションはメインインターフェイスに配置し、メニューは補助的なアイテムを提供するために使用します。メッセージの作成は最も一般的な操作なので、メインインターフェイスには「作成」ボタンを大きく配置しています。メッセージでは、便利な編集オプションを提供するために、メインインターフェースにオプションを表示する代わりに、「編集」ボタンにメニューを付けています。メニューは、あるアクションに直接関連するオプションを表示するために使います。メニューを使うと、メインインターフェイスにボタンを追加することなく、アクションの対象を明確にしたり、動作をカスタマイズしたりすることができます。アプリの「追加」ボタンをタップすると、メニューが表示され、追加したいアイテムを指定することができます。ソート機能を備えたアプリでは、ソートする属性を選択できるメニューを表示することができます。複数の場所を移動できるアプリでは、メニューを使って特定の場所に移動できるようにすると、各ステップを辿る必要がなくなります。アプリの副次的なアクションを提供するためにメニューを使用する。アプリに、メインインターフェイスに属さない重要なアクションがある場合、これらのアクションをメニューにまとめることができます。コンテンツの表示やソートのオプションに加えて、フォルダの追加やドキュメントのスキャンなどのアクションを提供するためにメニューを使用しています。ボタンを追加することを検討してください。ボタンは、ほとんどのインターフェースと調和し、一般的には追加機能へのアクセスを提供するものと理解されています。記号」を参照してください)。既存のボタンに対して特定のジェスチャーを行うことで、メニューを表示させることもできます。タブボタンをタッチ&ホールドするジェスチャーに反応して、「新しいタブ」や「すべてのタブを閉じる」など、タブに関連するアクションのメニューが表示されます。セパレーターを使って、関連するメニュー項目を視覚的にグループ化する。視覚的なグループ分けをすることで、メニューをより早く見やすくすることができます。アプリの「More」メニューでは、コンテンツに影響を与えるアクションと、表示やソートに関連するアイテムを区別するためにセパレータを使用しています。以上のグループを使用すると、解析が困難になる可能性があります。メニュー項目が破壊的であることを伝え、その意図を確認してもらいます。メニューでは、破壊的な可能性があると判断したアクションを赤文字で表示します。ユーザーが破壊的なアクションを選択すると、システムはアクションシート(iOS)またはポップオーバー(iPadOS)を表示し、ユーザーが選択を確認したりアクションをキャンセルしたりできるようにします。アクションシートは、メニューとは別の場所に表示され、意図的に取り消す必要があるため、誤ってデータを失うことを防ぐことができます。メニューアイテムにグリフを添えるのは、それが価値をもたらす場合です。メニューの意味を明確にする必要がある場合は、タイトルの後にグリフや画像を表示することができます。記号を使用すると、どのような縮尺でも記号がテキストと一致するようにしながら、親しみやすさを提供することができます。メニューのタイトルが意味を持つ場合は、そのタイトルを表示します。ほとんどの場合、人々はボタンをタップして何かを実行したときに即座にメニューが表示されるため、メニューのアイテムのコンテキストを理解しています。必要に応じて、メニューの上部に簡潔なタイトルを表示することができます。#リフレッシュコントロールは、次の自動コンテンツ更新を待たずに、テーブルビューなどのコンテンツを即座に再読み込みするために手動で起動されます。リフレッシュコントロールは特殊なタイプのアクティビティインジケータで、デフォルトでは非表示になっており、リロードされるビュー上で下にドラッグすると表示されます。メールでは、受信トレイのメッセージのリストを下にドラッグすると、新しいメッセージを確認することができます。コンテンツの自動更新を行う。ユーザーは、コンテンツの更新をすぐに行うことができることに感謝していますが、定期的に自動更新が行われることも期待しています。毎回の更新をユーザーに任せるのはやめましょう。定期的に更新することで、データの鮮度を保つことができます。短いタイトルは、付加価値がある場合にのみ付けるようにします。リフレッシュコントロールには、タイトルを付けることができます。ほとんどの場合、コントロールのアニメーションがコンテンツの読み込み中であることを示しているので、これは不要です。タイトルを付ける場合は、リフレッシュの実行方法を説明するためには使用しないでください。代わりに、リフレッシュされるコンテンツに関する価値のある情報を提供します。更新がいつ行われたかを伝えます。以上のセグメントが直線的に組み合わされたもので、それぞれのセグメントが相互に排他的なボタンとして機能します。コントロール内では、すべてのセグメントの幅は同じです。ボタンと同様に、セグメントにはテキストやイメージを含めることができます。セグメント化されたコントロールは、異なるビューを表示するためによく使われます。マップでは、セグメントコントロールを使って、マップ、トランジット、サテライトの各ビューを切り替えることができます。使い勝手を良くするために、セグメントの数を制限します。幅の広いセグメントはタップしやすくなります。セグメントのコンテンツサイズを一定に保つようにします。すべてのセグメントの幅は同じなので、一部のセグメントにコンテンツが入り、他のセグメントに入らないと見栄えが悪くなります。セグメントコントロールでは、テキストとイメージの混在は避けてください。つを混在させると、断絶した混乱したインターフェイスになります。カスタムセグメントコントロールのコンテンツを適切に配置する。セグメント化されたコントロールの背景の外観を変更する場合は、コンテンツが美しく表示され、位置がずれていないことを確認してください。#スライダーとは、サムと呼ばれるコントロールが付いた水平方向のトラックのことで、指でスライドさせることで、画面の輝度レベルやメディア再生時の位置など、最小値と最大値の間を移動させることができます。スライダーの値が変化すると、最小値とサムの間のトラックの部分が色で塗りつぶされます。スライダーには、最小値と最大値の意味を示す左右のアイコンを表示することができます。スライダーの外観をカスタマイズして、付加価値を高めることができます。トラックの色やサムネイル、左右のアイコンなど、スライダーの外観は、アプリのデザインとの調和や意図を伝えるために調整できます。画像のサイズを調整するスライダーでは、左に小さな画像アイコンを、右に大きな画像アイコンを表示することができます。オーディオの音量調整にスライダーを使用しないでください。アプリで音量を調整する必要がある場合は、カスタマイズ可能なボリュームビューを使用してください。ボリュームビューには、音量レベルのスライダーと、アクティブなオーディオ出力デバイスを変更するためのコントロールが含まれています。ボリュームビューの実装方法については、「MPVolumeView」を参照してください。つのセグメントで構成されるコントロールで、値を増減させることができます。デフォルトでは、ステッパーの一方のセグメントにはプラスのシンボルが、もう一方のセグメントにはマイナスのシンボルが表示されます。これらのシンボルは、必要に応じてカスタムイメージで置き換えることができます。ステッパーの影響を受ける値を明らかにする。ステッパー自体には値が表示されないので、ステッパーを使用する際には、どの値を変更するのかがわかるようにしてください。大きな値の変更がありそうなときはステッパーを使わない。ステッパーは、数回タップするだけの小さな変化に適しています。印刷画面では、印刷枚数を大きく変えることはあまりないので、ステッパーを使って設定することに意味があります。一方で、ページの範囲を選択するためにステッパーを使用することは、妥当なページ範囲であっても多くのタップを必要とするため、意味がありません。つの状態(オンとオフ)を視覚的に切り替えるものです。アプリのスタイルに合わせてスイッチを着色することも検討してみましょう。アプリでうまく機能する場合は、オンとオフの状態でスイッチの色を変えることができます。スイッチは、テーブルの行でのみ使用してください。スイッチは、オンとオフを切り替えることができる設定のリストなど、表での使用を目的としています。つの異なるアイコンを用意してください。スイッチの値を説明するためにラベルを追加することは避けてください。スイッチはオンかオフのどちらかです。これらの状態を説明するラベルは冗長であり、インターフェースを煩雑にします。スイッチを使用して、関連するインターフェイス要素の可用性を管理することを検討してください。スイッチは、画面上の他のコンテンツに影響を与えることがよくあります。「設定」の「機内モード」スイッチを有効にすると、「セルラー」や「パーソナルホットスポット」などの他の設定が無効になります。スイッチを無効にすると、利用可能なネットワークやその他のオプションが表示されなくなります。行で高さが固定されたフィールドで、角が丸くなっていることが多く、ユーザーがタップすると自動的にキーボードが表示されます。メールアドレスなどの少量の情報を入力する場合には、テキストフィールドを使用します。テキストフィールドにヒントを表示して目的を伝えやすくする。“などのプレースホルダーテキストを入れることができますが、フィールドに他のテキストが入っていない場合は、プレースホルダーテキストを入れないでください。プレースホルダーテキストで十分な場合は、テキストフィールドの説明に別のラベルを使用しないでください。適切な場合には、テキストフィールドの右端にクリアボタンを表示します。キーを何度もタップする必要がなくなります。必要に応じて安全なテキストフィールドを使用する。パスワードなどの機密データの入力を求めるアプリでは、必ず安全なテキストフィールドを使用してください。画像やボタンを使用して、テキストフィールドをわかりやすく機能的に表示します。カスタム画像をテキストフィールドの左端または右端に表示したり、ブックマークボタンなどのシステム提供のボタンを追加したりできます。一般的に、テキストフィールドの左端はフィールドの目的を示し、右端はブックマークなどの追加機能の有無を示すために使用します。ヒント複数行、複数スタイルのテキストを入力する場合は、テキストビューを使用します。#適切なキーボードタイプを表示する。複数の異なるキーボードタイプが用意されており、それぞれが異なるタイプの入力を容易にするように設計されています。データ入力を効率化するためには、テキストフィールドの編集時に表示されるキーボードが、フィールド内のコンテンツの種類に適している必要があります。電子メールアドレスの入力を求めるアプリでは、電子メールアドレスのキーボードを表示する必要があります。定数を参照してください。キーボード」を参照してください。Fieldsテキストフィールド。