如何在Swift中以编程方式创建UISplitViewController

Dod*_*odi 2 uisplitviewcontroller ios-simulator swift

有谁可以帮助我解释如何在Swift中以编程方式制作UISpliterController。在我的应用程序中,我想应用iphone设备和ipad的支持功能。如果应用程序在iphone上运行,则使用单个控件,但如果应用程序在ipad上运行,则将UISpliterController与现有的ViewController一起使用。

我已经尝试过了,但是它总是会产生黑屏这是我的代码。

if UIDevice.current.userInterfaceIdiom == .pad {

    let spliterVC = UISplitViewController()
    let homeNavControler = mainStoryboard.instantiateViewController(withIdentifier: "homeViewController") as! HomeViewController

    let secondVC = mainStoryboard.instantiateViewController(withIdentifier: "secondViewController") as! SecondViewController
    spliterVC.viewControllers = [homeNavControler,secondVC]
    appdelegate.window?.rootViewController = spliterVC
}
Run Code Online (Sandbox Code Playgroud)

Bha*_*iya 6

如果要使用navigationController进行操作,请尝试:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    if UIDevice.current.userInterfaceIdiom == .pad {
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window!.backgroundColor = UIColor.whiteColor()
        var splitViewController =  UISplitViewController()
        var homeViewController = HomeViewController()
        var secondViewController = SecondViewController()
        var homeNavigationController = UINavigationController(rootViewController:homeViewController)
        var secondNavigationController = UINavigationController(rootViewController:secondViewController)
        splitViewController.viewControllers = [homeNavigationController,secondNavigationController]
        self.window!.rootViewController = splitViewController
        self.window!.makeKeyAndVisible()
        return true
    } else {
        // use single controller for iPhone and return that controller
    }
}
Run Code Online (Sandbox Code Playgroud)