2014-09-24 79 views
1

我试图在按钮点击时推送UISplitViewController,但没有多少运气。当我运行应用程序时,我有在故事板上的FirstViewController作为只有一个按钮的初始屏幕,当按钮单击时我想推UISplitViewController,下面是我使用的代码按钮单击后,有人可以请建议我我做错了,日Thnx使用swift登录时推送UISplitViewController

@IBAction func launchSplitView(sender: AnyObject) 
{ 
    let leftVC = LeftViewController() 
    let detailVC = RightViewDetailController() 
    let splitViewController = UISplitViewController() 
    //splitViewController.delegate = //UIApplication.sharedApplication().delegate as AppDelegate 

    splitViewController.viewControllers = [leftVC,detailVC]; 
    //splitViewController.delegate = self 
    splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible 

    window?.rootViewController = splitViewController 
    // window.makeKeyAndVisible() 

} 
+0

你需要告诉我们当你运行你的应用程序时发生了什么。 – 2014-09-24 20:06:19

+0

它不会去任何地方只是停留在同一个屏幕上 – DP2 2014-09-24 20:34:01

+0

是SplitViewController在一个单独的ViewController需要一个segue,或者你是否试图让它出现在初始ViewController? – 2014-09-25 03:36:26

回答

0

现在,这是我发现 解决方案=>我能通过继续而不是以编程方式启动

当我使用“launchSplitView函数”以编程方式启动时,我遇到了TableviewController问题,它是分割视图中的第一个视图控制器,但是当我使用segue时它起作用。不知道它是一个错误还是什么。塞格现在已经够好了。

+0

我有相同的实现一个VIewController带有一个标签 - >然后一个SplitViewController。但是,当我尝试从ViewController拖动一个Segue到SplitViewController时,没有任何反应,不会弹出Segue选项。你可以发布演示或提供更多细节。 – bibscy 2016-08-12 14:23:42

2

不能使用window?.rootViewController因为你的故事板是rootViewController,而不是你应该使用presentViewController

@IBAction func launchSplitView(sender: AnyObject){ 
    let leftVC = LeftViewController() 
    let detailVC = RightViewDetailController() 
    let splitViewController = UISplitViewController() 

    splitViewController.viewControllers = [leftVC,detailVC]; 

    self.presentViewController(splitViewController, animated: true, completion: nil) 
} 
+0

被拖到故事板上作为“Split View Controller”我会试试这个,谢谢 – DP2 2014-09-25 15:15:37