ページコントロール
ページコントロールには、フラットリスト内のページをそれぞれが表すインジケータイメージの行が表示されます。
インジケータのスクロール行は、人々がリストをナビゲートして目的のページを見つけるのに役立ちます。ページコントロールは、任意の数のページを処理できるため、人々がカスタムリストを作成できる状況で特に役立ちます。
ページコントロールは、デフォルトでは一連の小さなインジケータドットとして表示され、使用可能なページを表します。実線のドットは現在のページを示します。視覚的には、これらのドットは常に等間隔であり、スクリーン上に表示されるドットが多すぎるとクリップされます。
ベストプラクティス
ページコントロールを使用して、ページの順序付きリスト間の移動を表します。 ページコントロールは、階層的または非連続的なページの関係を表しません。より複雑なナビゲーションについては、代わりにサイドバーまたは分割ビューの使用を検討してください。
ページコントロールをスクリーン下部の中央に配置します。 人々が常にページコントロールの場所を把握できるようにするには、コントロールを水平方向の中央、スクリーンの下部近くに配置します。
ページコントロールは任意の数のページを処理できますが、あまり多くのページを表示しないでください。 約 10 個以上のドットは、一目では数えにくいです。アプリで 10 ページを超えるページを同等として表示する必要がある場合は、グリッドなど、非順次ナビゲーションを可能にする別の配置を使用することを検討してください。
インジケータのカスタム化
デフォルトでは、ページ コントロールはすべてのインジケータ用にシステム提供のドットイメージを使用しますが、人々が特定のページを識別できるように一意のイメージを表示することもできます。たとえば、天気アプリ は location.fill シンボルを使用して、現在の場所のページを区別します。
あなたのアプリやゲームを強化する場合は、すべてのインジケータのデフォルトのイメージとして使用するカスタムイメージを提供できます。また、特定のページに別のイメージを提供することもできます。開発者向けガイダンスについては、preferredIndicatorImage および setIndicatorImage(_:forPage:) を参照してください。
カスタム インジケーターのイメージが単純で明確であることを確認してください。 複雑な形状は避け、ネガティブな空間、テキスト、または内側の線は含めないでください。これらの詳細により、非常に小さいサイズではアイコンがぼやけて判読不能になるからです。単純な SF シンボル をインジケータとして使用するか、独自のアイコンをデザインすることを検討してください。ガイダンスについては、アイコン を参照してください。
ページコントロールの全体的な意味を強化する場合にのみ、デフォルトのインジケータイメージをカスタマイズします。 たとえば、リストするすべてのページにブックマークが含まれている場合は、bookmark.fill シンボルをデフォルトのインジケータイメージとして使用できます。
1 つのページコントロールで 3 つ以上の異なるインジケータイメージを使用することは避けてください。 あなたのリストが特別な意味を持つページが 1 つ含まれている場合 (Weather の現在地ページなど)、そのページに固有のインジケータイメージを与えることで、そのページを見つけやすくすることができます。対照的に、いくつかの固有のイメージを使用していくつかの重要なページをマークするページコントロールは、各イメージの意味を記憶しなければならないため、使いにくいものです。3 種類以上のインジケータイメージを表示するページコントロールは、各イメージが明確であったとしても、乱雑で無計画に見える傾向があります。
2 つの異なるインジケータのみを使用すると、よく整理されたように見え、一貫した体験が提供されます。
異なるインジケータをいくつか使用すると、ページコントロールが混み合っていて使いにくくなります。
インジケータのイメージに色を付けることは避けてください。 カスタムカラーは、ページコントロールをスクリーン上に表示して現在のページインジケータを区別するコントラストを減らします。ページコントロールが使いやすく、さまざまなコンテキストで見栄えがよくなるようにするには、システムがインジケータを自動的に色付けするようにします。
プラットフォームの考慮事項
watchOS に関する追加の考慮事項はありません。macOS ではサポートされていません。
iOS、iPadOS
ページコントロールは、インジケータの外観を調整して、リストに関する詳細情報を提供できます。たとえば、コントロールは現在のページのインジケータを強調表示して、人々がリスト内のページの相対的な位置を推定できるようにします。スペースに収まらないほど多くのインジケータがある場合、コントロールは両側のインジケータを縮小して、より多くのページが利用可能であることを示すことができます。
人々はタップまたはスクラブによってページ コントロールを操作します (スクラブ するには、コントロールにタッチして左または右にドラッグします)。現在のページインジケータの先頭または末尾をタップすると、次または前のページが表示されます。iPadOS では、ポインタを使用して特定のインジケータをターゲットにすることもできます。スクラブは順番にページを開き、コントロールの前または後を越えてスクラブすると、最初または最後のページにすばやく到達するのに役立ちます。
開発者ノート
API では、タッピング は 個別の操作 ですが、スクラブ は 継続的な操作 です。開発者向けガイダンスについては、UIPageControl.InteractionState を参照してください。
スクラブ中にページの移行をアニメーション化することは避けてください。 人々は非常にすばやくスクラブでき、すべての移行にスクロールアニメーションを使用すると、あなたのアプリは遅くなり、視覚的な閃光が発生する可能性があります。アニメーションのスクロール移行はタップのみに使用して下さい。
ページコントロールには、インジケータに視覚的なコントラストを提供する半透明の角が丸い長方形の背景外観を含めることができます。以下の背景スタイルのいずれかを選択できます。
開発者向けガイダンスについては、backgroundStyle を参照してください。
最小の背景スタイルを使用する場合は、スクラバーをサポートするのは避けてください。
最小のスタイルは、スクラブ中に視覚的なフィードバックを提供しません。人々があなたのアプリ内のページのリストをスクラブできるようにしたい場合は、自動または目立つ背景スタイルを使用します。tvOS
フルスクリーンのページのコレクションでページコントロールを使用します。 ページコントロールは、コンテンツが豊富な複数のページがページ階層内でピアとなるフルスクリーン環境で動作するように設計されています。追加のコントロールを含めると、ページ間を移動するときに焦点を維持することが難しくなります。
リソース
関連
開発者用文書
UIPageControl — UIKit (UIPageControl)
WKInterfaceController — WatchKit (WKInterfaceController)