ウインドウ
ウィンドウには、あなたのアプリまたはゲームのユーザーインターフェイスを表すビューとコンポーネントが含まれています。
プラットフォーム、デバイス、およびコンテキストによっては、ウィンドウ (またはシーン) が検出されない場合があります。たとえば、iOS、tvOS、watchOS など、デフォルトの体験がフルスクリーンのプラットフォームでは、人々はウィンドウ内のコンテンツを表示して操作しますが、ウィンドウ自体は表示したり操作することはありません。このような場合、あなたのアプリやゲームのウィンドウやシーンの外観をデザインする必要はありません。開発者向けガイダンスについては、Scene (Scene) と UIWindow (UIWindow) を参照してください。
対照的に、iPadOS はマルチタスクと複数のウィンドウをサポートしているため、人々はアプリのウィンドウを視覚的に区別できるオブジェクトとして認識できます。たとえば、人々は同時に 2 つまたは 3 つのアプリをスクリーン上に表示したり、同じアプリで複数のウィンドウを開くことができます。優れた iPadOS 体験を作成するには、あなたのウィンドウとシーンが人々の期待どおりに表示され、動作することを確認する必要があります。ガイダンスについては、マルチタスク を参照してください。 開発者向けガイダンスについては、Scenes (Scenes) を参照してください。
macOS では、人々はアプリウィンドウを個別のオブジェクトとして操作することに慣れています。Mac ユーザーは通常、複数のアプリを同時に実行します。多くの場合、1 つのデスクトップで複数のアプリのウィンドウを表示し、さまざまなウィンドウの間を頻繁に切り替えます。作業スタイルに合わせてウィンドウを移動し、サイズを変更し、最小化し、表示します。通常はウィンドウのフレームを非表示にするフルスクリーンモードを人々が選択した場合でも、組み込みのフルスクリーン移行とツールバーを表示する機能により、ウィンドウの存在を思い出すことができます。
重要
以下のガイダンスは、macOS のウィンドウに適用されます。すべてのプラットフォームでのその他のウィンドウのようなビューのガイダンスについては、アラート、パネル、ポップオーバー、および シート を参照してください。
macOS ウインドウの全容
macOS のウィンドウは、フレームと本体領域で構成されます。フレームをドラッグしてウィンドウを移動したり、ウィンドウの端をドラッグしてウィンドウのサイズを変更したりできます。
フレーム は、本体コンテンツを囲むウィンドウの一部です。ウィンドウフレームには、タイトルバー、ツールバー、タブ、および (まれに) ボトムバーを含めることができます。
ウィンドウ 本体 には、ウィンドウのメインコンテンツが表示されます。このコンテンツは、Safari ウィンドウの Web サイトやプレビューのイメージなど、本文領域全体を埋めることができます。また、分割ビュー インターフェイスなど、複数のサブビューでコンテンツを表示することもできます。本文領域のビューの境界を超えるコンテンツはスクロール可能です。
macOSウインドウの状況
macOS ウィンドウは、以下の 3 つの状況のいずれか 1 つを持つことができます。
システムは、主要ウィンドウ、キーウィンドウ、および非活動的ウィンドウに異なる外観を与え、人々がそれらを視覚的に識別できるようにします。たとえば、キーウィンドウは、閉じる、最小化、およびズームするためのタイトルバーオプションで色を使用します。これらのオプションでは、キーではない非活動的なウィンドウとメインウィンドウには灰色が使用されます。また、非活動的なウィンドウは 鮮やかさ (ウィンドウの下にあるコンテンツからウィンドウに色を引き込むことができる効果) を使用しないため、主要ウィンドウやキーウィンドウよりも控えめに見え、視覚的に遠くに見えます。
注意
一部のウィンドウ (通常は [色] や [フォント] などのパネル) は、人々がウィンドウのタイトルバーまたはテキストフィールドなどのキーボード入力を必要とするコンポーネントをクリックした場合にのみ、キーウィンドウになります。
ベストプラクティス
カスタムウィンドウがシステム定義の外観を使用していることを確認してください。 人々は、スクリーン上のさまざまなウィンドウの視覚的な違いを利用して、最前面のウィンドウを識別し、どのウィンドウが入力を受け入れるかを判断します。システム提供のコンポーネントを使用すると、ウィンドウの状態が変わる時、ウィンドウの背景とボタンの外観が自動的に更新されます。カスタムの実装を使用する場合は、この作業を自分で行う必要があります。
ウィンドウのコンテンツが不要になるほどのコンテキストを提供しない限り、タイトルを表示します。 ドキュメントウィンドウの場合、タイトルはドキュメントの名前または 無題 (新しいドキュメントの場合) です。アプリウィンドウの場合、タイトルはアプリの名前です。
ファイル名をタイトルとして使用する必要がある場合は、わかりやすいものにしてください。 たとえば、ファイルの 表示名 を使用します。これは、ファイル拡張子の表示または非表示に関する人々の好みを反映し、ローカライズされる場合があります。
タイトルバーにファイルシステムのパスを含めないようにします。 通常、パスは長すぎてクリッピングなしではタイトルバーに収まらず、ひと目では理解するのも困難です。ファイルまたはフォルダーの完全なパスを表示する必要がある場合は、インスペクターペインなど、別の方法で表示してください。
重複するタイトルを区別するには、数字の接尾辞を使用します。 タイトルの最初のインスタンスには、数字の接尾辞は必要ありません。他のウィンドウに同じタイトルが付いている場合は、2 で始まる数字の接尾辞を追加します。たとえば、無題、無題 2、無題 3 のようになります。
タイトルバーを非表示にしても、人々がウィンドウを操作できることを確認してください。 メニューなど、ウィンドウを閉じて最小化する別の方法を提供します。人々がフレームをドラッグしてウィンドウを移動できることを確認してください。ウィンドウにツールバーがあり、タイトルバーがない場合は、ツールバー項目をアクティブにせずにウィンドウをドラッグできる十分なスペースがツールバーにあることを確認してください。
一般に、自動保存できない場合にのみ、変更されたドキュメントを未保存としてマークするためにドットを使用します。 ドキュメントを自動保存できる場合は、ウィンドウの閉じるボタンや [ウィンドウ] メニューのドキュメント名の横にドットを表示しないでください。これにより、人々が変更を保存するためにアクションを実行する必要があることがわかります。タイトルバーのドキュメントのタイトルに Edited (偏執済み) のような接尾辞を追加しても問題ありませんが、自動保存する場合や人々が手動で保存を実行する場合は、この接尾辞を削除する必要があります。
下部のバーを使用して、ウィンドウの内容またはウィンドウ内で選択された項目に直接関連する少量の情報を表示します。 たとえば、Finder は下部のバー (ステータスバーと呼ばれる) を使用して、ウィンドウ内の項目の総数、選択された項目の数、およびディスク上で使用可能な容量を表示します。下部のバーは小さいため、表示する情報がさらにある場合は、インスペクターの使用を検討してください。インスペクターは通常、分割ビューの末尾側に情報を表示します。
重要な情報やアクションを下部のバーに配置することは避けてください。 人々がウィンドウの下端が隠れるようにウィンドウを移動することがよくあります。
プラットフォームの考慮事項
iOS、macOS、tvOS、または watchOS に関する追加の考慮事項はありません。
iPadOS
iPad でのマルチタスクとマルチウィンドウのワークフローをサポートするには、ウィンドウがさまざまなサイズに適応し、各ウィンドウの表示スタイルがそのコンテンツに一致する必要があります。ガイダンスについては、iPad でのマルチタスク を参照してください。
リソース
関連
開発者用文書
Scene — SwiftUI (Scene)
WindowGroup — SwiftUI (WindowGroup)
NSWindow — AppKit (NSWindow)