Slide OverはiPadのマルチタスクモードで、メインアプリの上に2番目のアプリをフローティングウィンドウで表示します。ウィンドウは画面幅の約4分の1を占め、左右に移動でき、スワイプで非表示にできます。Apple Human Interface Guidelines(2025)によると、Slide OverはiOS 9以降のすべてのiPadモデルで利用可能で、iPadOSのマルチタスクシステムの一部です。
重要なポイント
Slide OverはiPad専用のマルチタスクモードで、狭いフローティングウィンドウに2番目のアプリを表示します。画面が2等分されるSplit Viewとは異なり、Slide Overはメインインターフェースの上に重なり、ユーザーが参考資料、メッセンジャー、メディアプレーヤーにすばやくアクセスできるようにします。
このモードはiOS 9でSplit Viewとともに導入され、当初はiPad Air 2、iPad mini 4、iPad Proでのみサポートされていました。現在、Slide Overは第10世代iPadやiPad mini(A17 Pro)を含むすべてのiPadモデルで動作します。開発者にとって、Slide Overはアプリが320 pt幅のウィンドウで表示できることを意味します - コンパクトなSize Classです。
ユーザーは画面の右端からスワイプするか、Dockからアイコンを画面の右側にドラッグしてSlide Overを開きます。Slide Overウィンドウでは任意のアプリを起動できます - 特別なサポートは必要ありませんが、適応されたアプリの方がはるかに見栄えが良くなります。
Slide Overはメインウィンドウの上に別のUIWindowSceneとして実装されています。Slide Overの各アプリは、320 pt幅(縦向き)の独自のUIWindowSceneインスタンスを取得します。ユーザーはSlide Overに1つのアプリを保持でき、2つ目を起動すると最初のアプリが置き換えられます。
Slide Overウィンドウは、ウィンドウ上部の専用ハンドル(pill)をドラッグして移動できます。ウィンドウを左端にドラッグすると左にスナップします。ウィンドウを右に完全にスワイプすると、非表示パネルに折りたたまれ、右端からのスワイプでアクティブになります。システムはSlide Overで最後に起動したアプリを記憶します。
重要な機能として、Slide OverはSplit Viewに変換できます。ユーザーがSlide Overウィンドウを上端または下端にドラッグすると、モードがSplit Viewに変わります。両方のアプリが等しい割合で完全な画面分割を取得します。
主な違いは画面スペースの配分です。Split Viewは画面を2等分または比例配分し、各アプリが固定領域を取得します。Slide Overはメインアプリからスペースを奪いません - メインアプリは全画面表示のままで、Slide Overがその上に表示されます。
2つ目の違いはフォーカスです。Split Viewでは両方のアプリが同時にアクティブで表示されます。Slide Overでは、メインアプリはフォーカスを失い(onResignActiveを受け取り)、Slide Overがフォーカスとインタラクティブ性を取得します。Slide Overを非表示にすると、フォーカスはメインアプリに戻ります。
3つ目はシナリオの数です。Split Viewでは開発者が複数の幅をサポートする必要があります。Slide Overは常に320 pt幅 - 一定のコンパクトクラスです。これにより開発が簡素化され、このサイズ用の適応レイアウトが1つあれば十分です。
| 特性 | Slide Over | Split View |
|---|---|---|
| ウィンドウサイズ | 320 pt(固定幅) | 画面の50%、25%、または75% |
| 位置 | メインアプリの上 | 横並び、画面分割 |
| フォーカス | Slide Overのみアクティブ | 両方のアプリがアクティブ可能 |
| Size Class | Compact Width、Regular Height | 割合に依存 |
Slide Overで正しく動作するには、アプリがCompact Width Size Classをサポートする必要があります。つまり、インターフェースが320 pt幅に収まる必要があります。Appleの主な推奨事項:適応制約付きのAuto Layoutを使用し、固定幅を避け、Slide Overを使用してiPadシミュレーターですべての画面をテストしてください。
実際には、適応はUIStackViewまたはSwiftUIのVStack/HStackを使用することに帰着し、これらは利用可能なスペースに自動的に調整されます。テーブル(UITableView)とコレクション(UICollectionView)は、セルが自己サイズ調整(self-sizing cells)を使用する場合、アプリ内で正しく動作します。
UIKitの場合は、horizontalSizeClassをチェックするUITraitCollectionを使用します。クラスが.compactの場合は、インターフェースを簡略化バージョンに切り替えます:余分な列を削除し、SidebarをStackViewに置き換えます。SwiftUIは@Environment(\.horizontalSizeClass)を介してこれを自動的に行います。
アプリがSlide Overで開かれると、そのUISceneはsceneWillEnterForeground通知を受け取ります。その後、シーンはforeground active状態に移行します - 全画面起動時と同様です。全画面モードとSlide Overの間でライフサイクルに違いはありません:sceneWillEnterForegroundとsceneDidBecomeActiveです。
Slide Overから全画面モードに戻るか、ウィンドウを非表示にすると、シーンはsceneDidEnterBackgroundを受け取ります。ユーザーがSlide Overを右にスワイプして非表示にした場合、別のSlide Overアプリが置き換わるか、システムがメモリを解放するまで、アプリはバックグラウンドで実行され続けます。
センサーやカメラに依存するアプリの場合、Slide Overは問題になる可能性があります。Slide Overではカメラが利用できず、加速度計が誤った値を示すことがあります。Slide Overに入るときはisDeviceOrientationLockedを確認するか、強制的に画面の向きを固定してください。
よくある質問
縦向きの場合 - 320 pt。横向きの場合、幅は異なる場合がありますが、horizontalSizeClassはCompactのままです。これはAppleの標準的なコンパクトクラスです。
はい、Info.plistでUIApplicationSupportsMultipleScenes = NOを設定します。アプリは全画面モードでのみ開き、Slide OverとSplit Viewは利用できなくなります。
1つだけです。Slide Overで2番目のアプリを起動すると、現在のアプリが置き換えられます。iPadは複数のフローティングウィンドウをサポートしていません - これはiPadOSの制限です。
両方のアプリがiPadのリソースを共有します。重いアプリ(ゲーム、動画)の場合、Slide Overはフレームレートを低下させる可能性があります。アプリがSlide Overで実行されている場合は、draw callsを制限し、アニメーションを無効にすることをお勧めします。
はい。8.3インチ画面のiPad miniでは、Slide Overは同じモードで動作します。画面が小さいため、ウィンドウはより大きな割合のスペースを占有しますが、UISceneの動作は同じです。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。