我有一个带有SplitView的应用程序,可让您将公司添加到数据库中。 在masterView中,公司显示各自的公司名称。 点击其中一家公司向我展示了“viewCell”中的地址(实际上不是一个单元格只是viewController中的一个视图,只是更容易解释)。 下面的“viewCell”是一个tableView(仍然在同一个viewController中),有一行:“Employees”。点击它会引导我进入一个新的tableViewController,它列出了我可以添加或添加的所有员工。
我想使用navBarItem在CompanyDetailViewController和EmployeesTableViewController之间来回传递。
在iPhone上,这可以很好地与自动创建的“< Back”navBarItem进行转换。
在iPad上这不起作用。它不显示任何navBarItem。我知道原因(EmployeeTableViewController
“认为”它是masterView的detailView,因此它不需要一个),但我希望能够通过动画转换回来并值得。“
prepareForSegue
到CompanyDetailView
的{{1}}内容如下:
EmployeesTableViewController
更新:一些屏幕截图
iPhone:http://i.stack.imgur.com/ivl86.png
拥有3家测试公司的MasterView
Test Company 1的详细信息视图
点击员工后测试公司1的员工名单,“< Back” - 按钮可见
iPad:http://i.stack.imgur.com/ObBto.png
MasterView with TestView of Test Company 1
测试公司1的员工名单,否“<返回” - 可以返回测试公司1的DetailView看到的按钮
答案 0 :(得分:0)
根据一些理解,以下可能是您的解决方案。
检查代码,如果它的操作是showDetailViewController:sender。
打开选择故事板 - >作为源代码打开。 找到你的对象(可能是x和y)。
工作连接segue应如下所示
<connections>
<segue destination="UXJ-Si-1aa" kind="show" id="aDD-wp-6dZ"/>
</connections>
如果您有,请删除该操作,然后按以下方式重试。
选择按钮cntrl
+将指针拖动到ViewController。如图所示
如果你有像下面这样的segue 一个不起作用,将不会显示UINavigationBar
<connections>
<segue destination="UXJ-Si-1aa" kind="show" action="showDetailViewController:sender:" id="A8L-Ad-PKT"/>
</connections>
答案 1 :(得分:0)
现在我知道是什么造成的了。我在employeeController中嵌入了employeeViewController。我直接连接它,现在它工作。我只需要更改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 }