0

我是一名新的 IOS 开发人员,正在开发我的第一个应用程序。我很喜欢它,并且已经设法让几乎所有东西都按我想要的方式工作,但我正在追逐一个奇怪的错误。

这是基本的应用程序设计(是的,我知道它可能不符合 Apple UI 指南),我可以描述它:

这是一个使用故事板完全使用最新 X Code 编写的通用应用程序。我有一个工作正常的 iPhone 和 iPad 界面,但它在我的问题存在的 iPad 界面中。根控制器是一个 UITabView。在其中一个选项卡上,我有一个拆分视图控制器,它实现了典型的主细节模式。在纵向模式下,主表被隐藏并呈现内容。导航栏按钮带来主表视图。您选择一个项目,主表视图消失,右侧通过 segue 更新内容。到现在为止还挺好。您旋转设备,一切正常。拆分视图主表保留在左侧,内容呈现在右侧。即使在选项卡控制器中,这一切也很有效。

以下是两个用例,按顺序演示了错误没有发生和发生

1- 错误不会发生 a) 以纵向启动应用程序。b)选择导航按钮以调出主表 c)从表中选择项目(项目渲染,主表消失) d)将设备旋转到横向(主/细节正确旋转) e)从选项卡控制器中选择不同的视图 f)选择原始包含拆分视图的视图 g) 一切都很好

2- 此用例中发生错误 a) 以纵向启动应用程序 b) 选择导航按钮以调出主表 c) 从表中选择项目(项目呈现,主表消失) d) 从选项卡控制器中选择不同的视图 e)在另一个选项卡视图中将设备旋转到横向 f) 从选项卡栏中使用拆分控制器选择原始视图 g) 视图返回,渲染细节,主视图/视图完全丢失。

因此,似乎如果在选择其他选项卡视图之前以横向呈现主/细节,一切都很好。但是,如果在您在选项卡中选择另一个视图之前,主/详细视图至少没有以横向呈现一次,它就不能正常工作。

在我的主/表控制器的 viewWillAppear 方法中,我检查了 self.masterPopoverController.isPopoverVisible 并确定它返回 false。

我想知道这是否是一个错误,或者可能是 Apple 不建议将拆分视图放在另一个控制器中的原因之一?

4

1 回答 1

0

最终自己找到了答案。

https://github.com/grgcombs/IntelligentSplitViewController

这是处理旋转的 UISplitViewController 的子类。

于 2012-07-10T02:11:04.973 回答