在自定义视图转换期间查看层次结构

时间:2015-03-11 12:53:53

标签: ios iphone uiviewcontroller custom-transition

我目前正在使用提供的API来定义自定义控制器转换。我阅读了Apple提供的文档,看到了WWDC上的视频,并发现了很多关于它的博客。我对如何使用这些API有一些疑问:

  1. animateTransition:上的容器视图:在我找到的大多数示例代码中以及在WWDC 218中命名为"使用View控制器的自定义转换",只有" toViewController&的视图#34;已添加到containerView。但在其他一些例子和视频中,现代iOS应用程序",显示的代码添加了" toViewController"和" fromViewController"到containerView。什么时候我们应该同时处理这两个问题?解雇和提出是否相同?
  2. 来自initialFrameForViewController:上下文的finalFrameForViewController:UIViewControllerContextTransitioning:WWDC 218视频告诉我们依靠这些方法检索控制器的帧是非常重要的。观点。但在很多例子中,根本没有使用。 我尝试在自定义动画中使用,但提供的框架可能位于屏幕外。如何通过这些方法确定框架?什么时候应该使用这些方法?是否在文档中指定了?
  3. iOS8中的
  4. viewForKey::自iOS 8以来我们应该使用此方法而不是viewControllerForKey:吗?
  5. 在自定义动画过渡期间,视图层次结构上是否有modalPresentationStyle事件?在这里提供的幻灯片上:http://es.slideshare.net/Split82/custom-uiviewcontroller-transitions,这似乎在初始和最终框架上有一个发生率。是否记录在某处?

1 个答案:

答案 0 :(得分:0)

  1. 关于您需要添加的视图控制器,您只需要将"添加到"视图。 "来自"视野已经存在。

  2. 关于finalFrameForViewController,可能由UIModalPresentationFullscreenUIModalPresentationPopoverpreferredContentSize等内容决定。

  3. 关于viewForKey,这对于所呈现的视图与呈现视图控制器的视图不同的情况很有用(例如,自定义转换呈现的弹出窗口也模糊了"来自"视图,这是全屏,即使呈现的视图是一个小弹出窗口)。在许多情况下,您不需要viewForKey。这取决于你正在做什么。

  4. 是的,modalPresentationStyle会影响帧大小(例如,popover vs全屏vs UIModalPresentationNone)。 WWDC 2014视频#214 View Controller Advancements in iOS 8在实践中证明了这一点。