2014-06-10 36 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

謝謝!這真的很有用! –

相關問題