2015-11-21 38 views
0

我有一個SplitView應用程序,可讓您將公司添加到數據庫。 在masterView中,公司顯示了它們各自的公司名稱。 點擊這些公司之一,向我展示了「viewCell」中的地址(實際上不是一個單元只是viewController中的一個視圖,更容易解釋)。 在「viewCell」下面是一個tableView(仍然在同一個viewController中),只有一行:「Employees」。點擊這個導致我到一個新的tableViewController列出我可以添加或我添加的所有員工。UISplitViewController:在detailView內導航

我想用一個navBarItem去來回CompanyDetailViewController和EmployeesTableViewController之間。

在iPhone這個工程很好地與自動創建的「<後退」 navBarItem的轉變。 在iPad上這不起作用。它不顯示任何navBarItem。我知道原因(EmployeeTableViewController「認爲」它是masterView的detailView,因此它不需要一個),但我希望能夠轉換回來,並與動畫值得。

prepareForSegueCompanyDetailViewEmployeesTableViewController看起來是這樣的:

if (segue.identifier == "ShowEmployeesSegue") 
{ 
    let controller = (segue.destinationViewController as! UINavigationController).topViewController as! EmployeesTableViewController 
    controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem() 
    controller.navigationItem.leftItemsSupplementBackButton = true 

    controller.coreDataStack = coreDataStack 
    controller.companyToView = companyToView as? Company 
} 

更新:一些截圖

  • iPhone:http://i.stack.imgur.com/ivl86.png

    1. MasterV IEW 3家測試公司

    2. 測試的DetailView公司敲擊員工後測試公司1名員工1

    3. 名單, 「<後退」 - 鍵可見

  • 的iPad:http://i.stack.imgur.com/ObBto.png

    1. 馬西德威與測試的DetailView公司1

    2. 測試的員工列表公司1,否「<後退」 - 鍵可見回去的DetailView測試公司的1

+0

問題有點不明顯。你能否顯示幾個屏幕,比如你想要實現什麼? – andyPaul

回答

0

基於一定的瞭解,下面可能是你的解決方案

檢查的代碼,如果它的動作是showDetailViewController:發件人。

打開選擇故事板 - >以源代碼打開。 找到你的對象(可能是x和y)。

工作連接賽格瑞想下面

<connections> 
       <segue destination="UXJ-Si-1aa" kind="show" id="aDD-wp-6dZ"/> 

</connections> 

刪除的操作,如果你可能有再試,以下列方式。 選擇按鈕,cntrl +將指針拖動到您的ViewController。顯示在圖像

如果你有賽格瑞像下面一個是行不通的,並不會顯示UINavigationBar的

<connections> 
    <segue destination="UXJ-Si-1aa" kind="show" action="showDetailViewController:sender:" id="A8L-Ad-PKT"/> 

</connections> 

enter image description here

enter image description here

+0

感謝您的評論。我嘗試了你的建議(儘管我不知道它應該改變什麼:P),但無濟於事。 –

+0

您可以在不顯示後退按鈕的控制器中打印self.navigationController嗎? – andyPaul

+0

'可選()' –

0

現在我知道是什麼原因導致它。我將employeeViewController嵌入到NavigationController中。我直接連接它,現在它工作。我只需要改變prepareForSegue方法,就像這樣:

if (segue.identifier == "ShowEmployeesSegue") { 
let controller = segue.destinationViewController as! EmployeesTableViewController 
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem() 
controller.navigationItem.leftItemsSupplementBackButton = true 

controller.coreDataStack = coreDataStack 
controller.companyToView = companyToView as? Company } 
相關問題