2015-10-14 53 views
0

目前,我有一個具有MasterViewController和DetailViewController的SplitViewController。我想知道是否有更多的DetailViewControllers的方法。現在,我在左側的tableView中有一個項目列表,如果你點擊它們,它們將進入全屏視圖。我怎樣才能讓它在點擊時顯示在分割視圖右側的面板內?因此,參考此圖像 - 如何讓我的視圖在細節部分顯示爲黃色的顏色?現在,當我點擊「黃色」的等價物時 - 黃色顯示爲全屏,而不是細節。 http://2uagoo1zzsoo4bcz3347bs2y.wpengine.netdna-cdn.com/wp-content/uploads/2012/08/Image003.png使用UISplitViewController的多個DetailViewControllers

額外的信息:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    if indexPath.row == 0 { 

     let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 

     let vc: UINavigationController = storyboard.instantiateViewControllerWithIdentifier("newViewController") as! UINavigationController 

     self.presentViewController (vc, animated: true, completion: nil) 

    } else if indexPath.row == 3 { 

     let storyboardTwo: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 

     let vcTwo: UINavigationController = storyboardTwo.instantiateViewControllerWithIdentifier("newViewController4") as! UINavigationController 

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

我實在無法理解你的問題,我工作在一個類似的項目,但我不太明白你想要問什麼。 – Katz

+0

現在,如果我點擊左窗格項目(顏色名稱),它會打開一個新視圖。我希望它在細節視圖中顯示在旁邊。本身並不是單獨看待。更清晰? :) –

回答

0

我相信你需要使用show showDetailViewController方法:

呈現指定的視圖控制器作爲拆分視圖界面的二次視圖控制器。

func showDetailViewController(_ vc: UIViewController, 
        sender sender: AnyObject?) 

所以在你的情況下,它會更像這樣使用。在didSelectRowAtIndexPath方法函數:

{ 
    let vc:UIViewController 
    if indexPath.row == 0 { 
     let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     vc: UINavigationController = storyboard.instantiateViewControllerWithIdentifier("newViewController") as! UINavigationController 



    } else if indexPath.row == 3 { 
     let storyboardTwo: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     vc: UINavigationController = storyboardTwo.instantiateViewControllerWithIdentifier("newViewController4") as! UINavigationController 

    }else { 
    // handle this case 
     vc = ... 
    } 
    // Grab the Split View Controller 
    let splitVC = // get Split View Controller 
    splitVC.showDetailViewController(vc,sender:nil) 
} 
+0

嘿謝謝。那麼如何在點擊一個單元格後觸發此功能?你能解釋一些更多的參考我的代碼嗎? :D –

+0

如果我理解正確,而不是呈現視圖控制器,得到分割視圖控制器,並讓它調用此方法,如下所示:splitVC.showDetailViewController(vcTwo,sender:nil) – Jbryson

+0

非常感謝..和vcTwo?我必須改變它嗎? :) –

相關問題