:
注
」...いくつかの他のコンテナビューコントローラ内の子として分割ビューコントローラをインストールすることは可能ですが、やってはで推奨されていませんほとんどの場合スプリットビューコントローラは、通常、アプリのウィンドウのルートにインストールされます。インターフェースの実装方法に関するヒントやガイダンスについては、「iOSヒューマンインターフェイスガイドライン」を参照してください。
そうしないと予期せぬ動作が発生し、App Storeの送信が拒否されることがあります。
あなたはより良い詳細.primaryHidden
からUISplitViewController
.preferredDisplayMode
は(あなたのフルスクリーンプレゼンテーションを、左1/3「マスタービュー」を隠す設定しUISplitViewController.
のビューコントローラとしてUITabBarController
を埋め込むことによって提供することができますUITabBarController
。)showDetailViewController
を呼び出してRegistrationViewController
を提示することができます。
FWIW、をUISplitViewController
の「マスター」と「詳細」として埋め込み、表示するナビゲーションスタックにビューをプッシュしてポップしました。 NavControllersを使用する利点についてのより多くの議論と、ここで素晴らしいチュートリアル、: https://www.raywenderlich.com/94443/uisplitviewcontroller-tutorial-getting-started
一部スウィフトコード:
(提示その後、UISplitViewController,
の唯一の詳細ビューを示す、マスターとディテールなどのnavコントローラと、上記のアプローチを使用して。詳細ビューなどの新しいビューコントローラ)別の場合
@IBAction func createAccountButtonSelected(_ sender: AnyObject) {
let registrationVC = self.storyboard?.instantiateViewController(withIdentifier: "RegistrationViewController") as! RegistrationViewController
self.navigationController?.pushViewController(registrationVC, animated: true)
}
は、私は()詳細ビューコントローラからUISplitViewController
の両方のマスターとディテールビューのナビゲーションスタックをリセットしたい:
let firstVC = self.storyboard?.instantiateViewController(withIdentifier: "FirstViewController") as! FirstViewController
let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
// Get a reference the the Master View nav controller
let masterNav = self.splitViewController!.viewControllers[0] as! UINavigationController
// Set desired VC's as nav stack RootViewControllers
self.navigationController?.setViewControllers([matchVC], animated: true)
masterNav.setViewControllers([masterMatchTableView], animated: true)
も参照してください。 http://nshipster.com/uisplitviewcontroller/ –