Ios UISplitViewController:在detailView中导航

Ios UISplitViewController:在detailView中导航,ios,xcode,swift,ipad,uisplitviewcontroller,Ios,Xcode,Swift,Ipad,Uisplitviewcontroller,我有一个带有SplitView的应用程序,可以将公司添加到数据库中。 在主视图中,公司以各自的公司名称显示。 点击其中一家公司,我会看到“viewCell”中的地址(实际上不是一个单元格,只是viewController中的一个视图,只是更容易解释)。 在“viewCell”下面是一个tableView(仍在同一个viewController中),其中有一行:“Employees”。点击该按钮,我会看到一个新的tableViewController,其中列出了我可以添加或添加的所有员工 我想使用

我有一个带有SplitView的应用程序,可以将公司添加到数据库中。 在主视图中,公司以各自的公司名称显示。 点击其中一家公司,我会看到“viewCell”中的地址(实际上不是一个单元格,只是viewController中的一个视图,只是更容易解释)。 在“viewCell”下面是一个tableView(仍在同一个viewController中),其中有一行:“Employees”。点击该按钮,我会看到一个新的tableViewController,其中列出了我可以添加或添加的所有员工

我想使用navBarItem在CompanyDetailViewController和EmployeesTableViewController之间来回切换

在iPhone上,这与自动创建的“ 我的
prepareForSegue
CompanyDetailView
employeestablevewcontroller
如下所示:

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:

  • MasterView与3家测试公司合作

  • 测试公司1的详细视图

  • 点击员工后,测试公司1的员工列表,“<返回”-按钮可见

  • iPad:

  • 带有测试公司1详细视图的主视图

  • 测试公司1的员工列表,无“

基于某种理解,以下可能是您的解决方案

如果代码的操作是showDetailViewController:sender,请检入代码

打开选择情节提要->作为源代码打开。 找到您的对象(可能是x和y)

工作连接段应如下所示

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

</connections>


现在我知道是什么引起的了。我将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 }

这个问题有点令人遗憾。你能不能显示一些屏幕,比如你想实现什么?谢谢你的评论。我尝试了你的建议(尽管我不知道应该更改什么:P),但没有任何效果。你能在控制器中打印self.navigationController而不显示后退按钮吗?
可选()
我给出了正确的答案。现在可以了。谢谢你给我指明了正确的方向。这就是为什么您也会得到正确的答案;-)
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 }