2015-11-21 35 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 } 
相关问题