我需要采取哪些措施?在Objective-C中,我们在将此控制器添加到rootViewController
之后创建了detailViewController
和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中做同样的事情?
答案 0 :(得分:17)
如果你想用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
}
答案 1 :(得分:2)
过了一段时间我找到了答案:
第一次需要创建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
}