【问题标题】:What is a UINavigationTransitionView什么是 UINavigationTransitionView
【发布时间】:2012-07-15 16:20:23
【问题描述】:

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

我的层次结构如下所示:

MPMovieView
  UIView
    UIViewControllerWrappper
      UINavigationTransitionView
        UILayoutContainerView
          UIWindow

【问题讨论】:

  • @davedelong 对 UIKit 略知一二。 :-)

标签: iphone cocoa-touch ios5 rotation transition


【解决方案1】:

AFAIK UINavigationTransitionView 是一个用于动画 UINavigationController 子视图的类。它通常包含一两个 UIViewControllerWrapperView,每个都包含您的实际 UIViewController.view 如果你继承 UINavigationController 并重写 pushViewControllerAnimated: ,你可以在调用 [super pushViewControllerAnimated:] 之前和之后记录层次结构,你会注意到被推送的 VC 从 {0, 20, 320, 480} 变为 {-320, 20 , 320, 480} 虽然很容易理解它是如何工作的,因为它是私有 API,它很可能会在 iOS 版本之间发生变化,所以你不应该基于这种行为来制定你的轮换解决方案。发布一个关于实际轮换问题的新问题,我们可以帮助您解决它,而无需使用私有 API

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 2019-06-24
      • 2017-04-21
      • 1970-01-01
      • 2011-04-21
      • 2015-03-21
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      相关资源
      最近更新 更多