Ios UISplitViewController:在detailView中导航
我有一个带有SplitView的应用程序,可以将公司添加到数据库中。 在主视图中,公司以各自的公司名称显示。 点击其中一家公司,我会看到“viewCell”中的地址(实际上不是一个单元格,只是viewController中的一个视图,只是更容易解释)。 在“viewCell”下面是一个tableView(仍在同一个viewController中),其中有一行:“Employees”。点击该按钮,我会看到一个新的tableViewController,其中列出了我可以添加或添加的所有员工 我想使用navBarItem在CompanyDetailViewController和EmployeesTableViewController之间来回切换 在iPhone上,这与自动创建的“Ios UISplitViewController:在detailView中导航,ios,xcode,swift,ipad,uisplitviewcontroller,Ios,Xcode,Swift,Ipad,Uisplitviewcontroller,我有一个带有SplitView的应用程序,可以将公司添加到数据库中。 在主视图中,公司以各自的公司名称显示。 点击其中一家公司,我会看到“viewCell”中的地址(实际上不是一个单元格,只是viewController中的一个视图,只是更容易解释)。 在“viewCell”下面是一个tableView(仍在同一个viewController中),其中有一行:“Employees”。点击该按钮,我会看到一个新的tableViewController,其中列出了我可以添加或添加的所有员工 我想使用
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的员工列表,无“
<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 }