🧭 iPad対応のポイント
- サイズクラス(Size Class)対応レイアウト
- Split ViewやSlide Overなどのマルチタスク機能
- マルチウィンドウ(UIScene対応)
- 外部キーボード/Apple Pencil対応
- iPad Proの大画面向けUI調整
📐 サイズクラスの使い方
iPadでは横幅が regular になるケースが多いため、Size Class によってUIを切り替えるのが基本です。
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
if traitCollection.horizontalSizeClass == .regular {
// iPadなどワイド画面用のUI
} else {
// iPhoneなどナロー画面用のUI
}
}
このメソッドをオーバーライドすることで、サイズクラスの変更に応じたUIの更新が可能です。
詳細なSize Classの使い方も参照してください。🪟 UISplitViewController(分割ビュー)
iPadではUISplitViewControllerでマスター/ディテール構成の画面がよく使われます。
let splitVC = UISplitViewController(style: .doubleColumn)
splitVC.viewControllers = [masterVC, detailVC]
window?.rootViewController = splitVC
iOS 14以降では .doubleColumn などの新しいスタイルも追加されています。
これにより、ユーザーはマスターリストと詳細ビューを同時に表示できます。
UISplitViewControllerの詳細も参照してください。🖼️ マルチウィンドウ対応
iPadOSでは複数のウィンドウ(Scene)をサポートできます。SceneDelegateで管理します。
// Info.plist に UIApplicationSceneManifest を追加し、SceneDelegate.swift を実装
これにより、ユーザーが1つのアプリで複数のワークスペースを同時に使えます。
SceneDelegateの詳細 | Sceneの使い方 | Info.plist | UIApplicationSceneManifest✍️ Apple Pencilや外部デバイス対応
- Apple Pencil対応は
touchesMovedやUIPencilInteractionで検知可能 - キーボードショートカット対応は
UIKeyCommandを利用
これにより、iPad Proなどの大画面デバイスでの操作性が向上します。
Apple Pencilの使い方 | UIPencilInteractionの使い方 | UIKeyCommandの詳細