Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can create a SplitViewController programmatically in Swift?

What steps do I need to do? In Objective-C we created a rootViewController and detailViewController, after there added this controllers to splitViewController. For example:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    UISplitViewController *splitViewController = [[UISplitViewController alloc] init];
    MTTRootViewController *rootViewController = [[MTTRootViewController alloc] init];
    MTTDetailedViewController *detailedViewController = [[MTTDetailedViewController alloc]init];
    splitViewController.viewControllers = [NSArray arrayWithObjects:rootViewController, detailedViewController, nil];
    [self.window setRootViewController:(UIViewController*)splitViewController];
    [self.window makeKeyAndVisible];
    return YES;
}

How can I do the same in Swift?

like image 222
val_lek Avatar asked Jun 10 '14 07:06

val_lek


1 Answers

After some time I found answer:

At first time need create rootViewController and detailViewController. For example, rootViewController will be inherit from UITableViewController and detailViewController will inherit from UIViewController. At next time you will need do this:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window!.backgroundColor = UIColor.whiteColor()
        var splitViewController =  UISplitViewController()
        var rootViewController = RootViewController()
        var detailViewController = DetailViewController()
        splitViewController.viewControllers = [rootViewController,detailViewController]
        self.window!.rootViewController = splitViewController
        self.window!.makeKeyAndVisible()
        return true
    }
like image 86
val_lek Avatar answered Oct 15 '22 00:10

val_lek