2016-02-14 67 views
0

首先對不起我的英語。 我有一個UISplitViewController,我用UIViewController替換模板主UITableViewController放置一個UITableView和UIContainerView什麼包含第二個靜態UITAbleViewController設置其中一個設置單元具有另一個細節UITableViewController來更改其值。在iPhone上運行良好,但在具有該splitviewcontroller的iPad上,此設置值表在splitviewcontroller細節視圖中顯示。它的好,但我不能隱藏了。 (在iPhone上有一個後退按鈕,並運行良好) 我找不到解決方案。 我的問題是我如何隱藏那個細節視圖來顯示分割視圖的原始細節視圖? 這是我從故事板,初始視圖和設置值打開時的3張圖片(無法隱藏n iPad)如何在iPad上使用UIContainerView隱藏UISplitViewController主內嵌輔助UITableViewController的DetailView

任何建議都不錯。由於 Storyboard

Ipad screenshots

回答

0

最後我做了一個簡單的解決方案。刪除上設置tableviewcontroller節目細節故事板賽格瑞並定義didSelectRowAtIndexPath方法定製推

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    //i want only the third row to perform an action 
    if indexPath.row == 2 { 
     let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     let groupListViewController = mainStoryboard.instantiateViewControllerWithIdentifier("GroupListViewController") as! GroupListViewController 
     self.navigationController!.pushViewController(groupListViewController, animated: true) 
    } 

} 

這種辦法可以將任何視圖的分割視圖左側或右側的COS都具有導航控制器。在此之後,我在推送的tableviewcontroller上定義了相同的函數,並引發了一些操作並返回。它在iPad和iPhone上的作用就像一個魅力。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

     self.appDelegate.client.selectedGroupIndex = indexPath.row 

     //The main master viewcontroller of split view 
     let vehicleListViewController = self.navigationController?.viewControllers.first as! VehicleListViewController 

     //settingsviewcontroller that embedded in master viewcontroller 
     let vehicleListSettingsViewController = vehicleListViewController.childViewControllers.first as! VehicleListSettingsViewController 

     //call a custom function on embedded settings viewcontroller to change selected value 
     vehicleListSettingsViewController.changeGroup(indexPath.row) 

     //refresh splitviewcontroller's master tableview 
     vehicleListViewController.tableView.reloadData() 

     //Easy go back to masterview 
     self.navigationController?.popViewControllerAnimated(true) 


    } 
相關問題