UIKit

Tag: UIKit/スプリットビュー

目次

関連ページ

参考情報

概要

  • Master Detailテンプレートで作成すると、UISplitViewControllerを使用したサンプルプログラムが作成できる。
  • iPadのとき分割ビューになるほか、iPhone 6/6s/7 PlusなどのPlusの横画面で分割表示となる。
splitview.jpg

素から導入する

作成するプログラム

  • Single ViewアプリケーションからSplit View Controllerを利用して、Master Detail風のプログラムを自力で作成する。
  • iPhoneの場合は、ナビゲーションコントローラーを使った風に。iPhone Plusの横画面とiPadの場合は分割表示とする。
  • 初期状態は2分割表示可能な場合は同時表示、だめなときはマスター。

手順

  • MasterViewControllerとDetailViewControllerを追加。両方ともUITatleViewControllerのサブクラスとする。
  • Spit View Controllerをドロップ。そこに矢印をつける。
  • Detail側のビューコントローラーを削除。Table View Controllerを追加してナビゲーションバーをつける。
  • Split View ControllerをCtrlドロップしてrelationで接続ずけ。マスター側のView Controllerから詳細側のナビゲーションコントローラーに関連づけ(show Datail)。
  • それぞれのView ControllerのクラスをMasterViewControllerとDetailViewControllerにしておく。

作り込み

常に2ペイン表示

  • AppDelegateを修正。
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            // Override point for customization after application launch.
            let splitViewController = self.window!.rootViewController as! UISplitViewController
            splitViewController.delegate = self
            splitViewController.preferredDisplayMode = .allVisible
            return true
        }
    

Master側を優先

  • UISplitViewControllerDelegateを利用する。正確にはセカンダリをcollapseするかどうかの判断をするものらしい。
  • 同じくAppDelegeteに実装。
        func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool {
            return true
        }
    }
    

添付ファイル: filesplitview.jpg 351件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-20 (金) 20:38:19 (762d)