【发布时间】:2014-11-30 02:23:02
【问题描述】:
在 XCode 6 中,如果您基于 Master-Detail Application 模板创建一个新项目,您将获得一个应该适用于所有设备的通用故事板。
在主视图中选择单元格时,详细视图会通过自适应“显示详细信息”转场进行更新。在 iPhone 4、5、6 或 6+ 的纵向上,这种转场将按预期采用推送的形式。在 iPad 或 iPhone 6+ 的横向上,它将导致详细视图按预期更新。
现在,如果您插入一个 UITabBarController 作为主视图控制器,该控制器在原始主视图控制器上有一个选项卡,则在主视图中选择单元格时发生的自适应转场在 iPhone 上的行为与预期不同。您现在获得的是模态转换,而不是推送转换。我该如何解决?默认情况下不支持这似乎很奇怪。
我发现以下帖子很有用:iOS8 TabbarController inside a UISplitviewController Master 但是当使用建议的方法时,当我在按下纵向后旋转到横向时,我在 iPhone 6 Plus 上没有得到正确的行为。详细视图的内容出现在主视图中,这并不奇怪,因为建议的解决方案就是这样做的。
谢谢!
【问题讨论】:
-
原来的主视图控制器是否嵌入了导航控制器(所以选项卡的根视图控制器就是导航控制器)?
-
是的,标签的根视图控制器是一个导航控制器,而导航控制器又包含一个表格视图控制器。