Ios 自定义视图转换期间的视图层次结构

Ios 自定义视图转换期间的视图层次结构,ios,iphone,uiviewcontroller,custom-transition,Ios,Iphone,Uiviewcontroller,Custom Transition,我目前正在使用提供的API来定义自定义控制器转换。我阅读了苹果公司提供的文档,看了WWDC上的视频,发现了很多关于它的博客。关于如何使用这些API,我有一些问题: animateTransition上的容器视图::在我找到的大多数示例代码和使用视图控制器命名的WWDC 218自定义转换中,只有toViewController的视图添加到containerView。但在其他一些示例中,以及在设计现代iOS应用程序的视频架构中,显示的代码将toViewController和fromViewContr

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

animateTransition上的容器视图::在我找到的大多数示例代码和使用视图控制器命名的WWDC 218自定义转换中,只有toViewController的视图添加到containerView。但在其他一些示例中,以及在设计现代iOS应用程序的视频架构中,显示的代码将toViewController和fromViewController添加到containerView。什么时候我们应该同时处理这两个问题,什么时候只处理一个问题?解雇和介绍都一样吗? UIViewControllerContext转换上下文中的initialFrameForViewController:和finalFrameForViewController:WWDC 218视频告诉我们,依靠这些方法检索控制器视图的帧非常重要。但在许多例子中,根本没有使用。 我尝试在自定义动画中使用,但提供的帧可能位于屏幕之外。这些方法是如何确定框架的?什么时候应该使用这些方法?文件中有规定吗? viewForKey:在iOS8中:从iOS8开始,我们应该使用此方法而不是ViewControllerWorkey:吗? 在自定义动画转换期间,视图层次上是否存在modalPresentationStyle事件?在这里提供的幻灯片上:,这似乎与初始帧和最终帧有关。它在什么地方有记录吗? 关于需要添加哪些视图控制器,只需将添加到视图即可。“从视图”已存在

关于finalFrameForViewController,它可能是由UIModalPresentationFullscreen与UIModalPresentationPopover以及preferredContentSize等因素决定的

关于viewForKey,这在显示的视图与显示视图控制器的视图不同的情况下非常有用,例如,自定义转换显示的弹出窗口也会模糊来自视图(全屏),即使显示的视图是一个小弹出窗口。在许多情况下,您不需要viewForKey。这取决于你在做什么

是的,modalPresentationStyle会影响帧大小,例如popover vs全屏vs UIModalPresentationNone。WWDC 2014视频214在实践中证明了这一点


关于第一点,为什么在交互转换期间我们要同时添加两个视图?Cf architecting app movieI不会担心它们从何处添加到层次结构的示例。我看到他们从视图中添加的时候,他们完全错了,没有必要这样做。我唯一一次尝试在层次结构中添加一些“从视图”是“展开分段”,因为自定义转换处理得不太好;但是在自定义转换框架中执行它是很难看的。我将尝试通过从代码中删除它来查看发生了什么。缺乏文件;我想不出一个通用的方法来进行交互转换。我希望这会很快得到解决