【问题标题】:How can create a SplitViewController programmatically in Swift?如何在 Swift 中以编程方式创建 SplitViewController?
【发布时间】:2014-06-10 07:46:45
【问题描述】:

我需要执行哪些步骤?在 Objective-C 中,我们创建了 rootViewControllerdetailViewController,之后将这些控制器添加到 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 中做同样的事情?

【问题讨论】:

    标签: ios swift ipad uisplitviewcontroller


    【解决方案1】:

    如果你想用 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
    }
    

    【讨论】:

      【解决方案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
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多