#author("2016-12-07T14:05:00+09:00","default:wikiwriter","wikiwriter")
#author("2016-12-14T14:06:56+09:00","default:wikiwriter","wikiwriter")
[[UIKit]]

&tag(UIKit/ユニバーサルアプリ);
*目次 [#i285a888]
#contents
*関連ページ [#rf135186]
*参考情報 [#ic13adc7]
-[[[iOS 8] UISplitViewController が iPhone に対応しました | Developers.IO:http://dev.classmethod.jp/references/ios8-uisplitviewcontroller-for-iphone/]]…Objective-C
-[[Master-DetailのiPhoneアプリをiPad対応してみた - Qiita:http://qiita.com/yosan/items/6893c36382ba0b5b08fd]]

*UISplitViewControllerを利用して簡易的にiPad対応 [#e80f64a1]
-Master Detailアプリを作成すると初期状態からUISplitViewControllerが利用されている。
-Interface BuilderでSplit View Controllerをダウンロードすると、一連のビューコントローラーがまとめてドロップされる。

**Detailのビューコントローラーを変更する [#b44f39f2]
-例えばView Controllerを Table View Controllerに変更する場合、Storyboardで削除してドロップし、Segueを接続し直せば良い。
-Segueは以下の2つ。
--Table View ControllerをNavigation View Controllerに埋め込み、マスターからNavigation Controllerに接続(Show)。
--Split View ControllerからRelationを接続。

**Detailに戻るボタン [#kabc9104]
*** 戻るボタンを追加する場合 [#c1590b7b]
-Master Detalアプリでは以下のような初期処理を行っている。
#pre{{
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        let splitViewController = self.window!.rootViewController as! UISplitViewController
        let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
        navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
        splitViewController.delegate = self
        return true
    }
}}

***戻るボタンのラベルを変更する [#hc494e88]
-[[ios - How to name a back button in UISplitViewController - Stack Overflow:http://stackoverflow.com/questions/31318847/how-to-name-a-back-button-in-uisplitviewcontroller]]
-MasterがわのNavigation Controllerを選択し、View Controllerのタイトルを設定する。

**フルスクリーン表示ボタンの切替 [#s7f9819b]
-[[UISplitViewController あれこれ | hirooka.pro:https://hirooka.pro/?p=8105]]

**iPhone 6/6s/7 Plusのポートレートモード対応 [#z17e45da]
-例えばMasterがテーブルで、行選択で詳細を表示したい場合、普通にperformSegueで遷移するとマスター側が切り替わってしまう。
-それを防ぐためにはshowDetailViewControllerを使わないと行けない

**編集画面の表示 [#n8529b51]
-詳細画面に編集画面をpushして表示するような画面の場合、iPad化すると間延びした画面になってしまう。
-この場合popoverかモーダル表示にしてformSheet形式で表示する。
-センタリングする場合formSheet形式にすると良いかも。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS