2

我正在尝试在视图中调试一些奇怪的旋转行为。查看视图层次结构,我可以看到旋转发生在 UINavigationTransitionView 的实例中。这是什么观点?它与 UINavigationController 有关吗?

我的层次结构如下所示:

MPMovieView
  UIView
    UIViewControllerWrappper
      UINavigationTransitionView
        UILayoutContainerView
          UIWindow
4

2 回答 2

7

AFAIK UINavigationTransitionView 是一个用于动画 UINavigationController 子视图的类。它通常包含一个或两个 UIViewControllerWrapperView,每个都包含您的实际 UIViewController.view 如果您将 UINavigationController 子类化并覆盖 pushViewControllerAnimated: ,您可以在调用 [super pushViewControllerAnimated:] 之前和之后记录层次结构,您会注意到 VC 被推送到 rect从 {0, 20, 320, 480} 更改为 {-320, 20, 320, 480}根据此行为制作您的旋转解决方案。发布一个关于实际轮换问题的新问题,我们可以帮助您解决它,而无需使用私有 API

于 2012-08-21T18:31:27.783 回答
0

很多时候,Apple 在公共类中使用私有类来管理内部行为。这是其中一种情况。没有名为 UINavigationTranstionView 的公共类。如果您确信苹果有错,我要么在别处寻找错误,要么提交雷达。如果您决定继续查看您的代码,请考虑在此处发布一些代码并描述您的问题,以便我们提供帮助。

于 2012-07-20T12:57:12.510 回答