コンテキストメニュー
iOS 13 以降では、コンテキストメニューを使用して、インターフェイスを乱雑にすることなく、スクリーン上のアイテムに関連する追加機能に人々がアクセスできるようになります。
コンテキストメニューは Peek と Pop に似ていますが、2 つの重要な違いがあります。
コンテキストメニューを表示するには、システムで定義されたタッチアンドホールドジェスチャまたは 3D Touch を使用できます (3D Touch を使用すると、コンテキストメニューをよりすばやく表示できます)。開くと、コンテキストメニューには項目のプレビューが表示され、項目に作用するコマンドが一覧表示されます。コマンドを選択するか、項目を別の領域や、ウィンドウ、またはアプリにドラッグできます。
コンテキストメニューを一貫して採用して下さい。 一部の場所でのみ項目のコンテキストメニューを提供し、他の場所では提供しない場合、人々はその機能をどこで使用できるかわからず、あなたのアプリに問題があると考える可能性があります。
項目に適用される最も一般的に使用されるコマンドのみを含めましょう。 たとえば、メール メッセージのコンテキストメニューには、メッセージに返信したり移動したりするためのコマンドを含めることは意味がありますが、書式設定やメールボックスコマンドを含めることは意味がありません。あまりにも多くのコマンドをリストすると、人々を圧倒する可能性があります。
コンテキストメニューの各コマンドにグリフを含めて下さい。 グリフはコマンドの意味を強化し、人々がその機能を即座に理解するのに役立ちます。 SF シンボル を使用する場合、あなたのコマンドを表す既存のシンボルを選択するか、関連するシンボルを編集してカスタムグリフを作成できます。コンテキストメニューにサブメニューが含む場合は、追加のコマンドの存在を示すシステム提供の山形模様のシンボルが自動的に表示されるため、グリフは必要ありません。
サブメニューを使用して複雑さを管理しましょう。 サブメニューは、論理的に関連するコマンドの二次的メニューを表示するコンテキストメニュー項目です。サブメニューにその内容を説明する直感的なタイトルを付けて、人々がサブメニューのコマンドを表示することなく予測できるようにします。簡潔でアクション指向のタイトルを使用するとまた、現在のコンテキストでは不要なサブメニューをスキップすることもできます。
サブメニューを 1 つのレベルに保ちます。 サブメニューはコンテキストメニューを短縮し、人々が実行できるコマンドを明確にできますが、複数のレベルのサブメニューは体験を複雑にし、人々がナビゲートするのが難しい場合があります。
最も頻繁に使用する項目をメニューの上部に配置します。 コンテキストメニューを人々が開くと、そのメニューの上部に彼らの焦点が当てられます。最も一般的な項目をメニューの上部に配置すると、人々がは探している項目を見つけるのに役立ちます。
セパレータを使用して、関連するメニュー項目をグループ化します。 視覚的なグループ化を作成すると、人々がメニューをよりすばやくスキャンするのに役立ちます。たとえば、セパレータを使用して項目の編集に関連するアクションをグループ化し、別のセパレータを使用して項目の共有に関連するアクションをグループ化できます。通常、コンテキストメニュー内に 3 つを超えるグループは必要ありません。
同じ項目にコンテキストメニューと編集メニューを提供することは避けてください。 同じ項目に対して両方の機能が有効になっている場合、システムが意図を読み取るのは困難になり、人を混乱させます。追加のガイダンスについては、編集メニュー を参照してください。
項目のプレビューを開くアクションボタンを提供することは避けてください。 人々はタップしてプレビューしている項目を開くことができるため、通常、明示的な [Open(開く)] ボタンを提供する必要はありません。
開発者向けガイダンスについては、UIContextMenuInteraction (UIContextMenuInteraction) を参照してください。