2014-06-10 38 views
6

我需要做什么步骤?在Objective-C中,我们创建了一个rootViewControllerdetailViewController,之后将此控制器添加到splitViewController。例如:如何在Swift中以编程方式创建SplitViewController?

- (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; 
    } 

我该如何在Swift中做同样的事情?

回答

1

一段时间后,我发现答案:

在第一次需要创建RootViewController的和detailViewController。例如,rootViewController将从UITableViewController继承,detailViewController将从UIViewController继承。 在接下来的时间,你需要做到这一点:

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 
    } 
11

如果你想与navigationController做到这一点,那就试试吧:

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() 
    var rootNavigationController = UINavigationController(rootViewController:rootViewController) 
    var detailNavigationController = UINavigationController(rootViewController:detailViewController) 
    splitViewController.viewControllers = [rootNavigationController,detailNavigationController] 
    self.window!.rootViewController = splitViewController 
    self.window!.makeKeyAndVisible() 
    return true 
} 
+0

谢谢!这真的很有用! –

相关问题