0

我在 TabbarController 中有一个 UISplitViewController,它工作正常,直到我将 SplitView 留在纵向模式并在我的其他视图中更改为横向并返回到我的 splitview 选项卡。之后,我的控制器尝试调用 willPresentViewController 并失败

2012-11-08 10:08:27.047 app[77747:c07] *** Assertion failure in -[UIPopoverController    _incrementSlideTransitionCount:],
/SourceCache/UIKit_Sim/UIKit-2372/UIPopoverController.m:510

我认为这是因为当我回来时拆分视图没有旋转。我试过这个控件https://github.com/grgcombs/IntelligentSplitViewController但它也没有工作。

我可以解决一点,但我现在遇到的问题是,当我以我描述的那种方式旋转时,风景中的主人总是黑色的。

4

1 回答 1

1

整个“离开标签,旋转,回到标签”可能会很痛苦,因为非活动标签不会获得旋转事件。

在过去,我使用了两种不同的方法来解决这个问题:

  1. UITabBarController创建将旋转事件转发到的自定义子类,UIViewControllers即使它们不是活动选项卡。
  2. UIViewController需要了解轮换的人使用NSNotificationCenter并注册该事件UIDeviceOrientationDidChangeNotification

我使用哪一个实际上取决于我需要多少个标签来跟踪该信息。如果 1 个选项卡需要信息,则 #2 可能是前进的方向,但如果 5 个选项卡中有 4 个需要它,那么 #1 可能是要走的路。

于 2012-11-08T14:07:35.557 回答