为什么UIKit要重置UIViewController';将UIS视图框架设置为“0”;全屏;在自定义转换期间?

为什么UIKit要重置UIViewController';将UIS视图框架设置为“0”;全屏;在自定义转换期间?,uiview,ios7,uikit-transitions,Uiview,Ios7,Uikit Transitions,当调用-presentViewController:animated:completion:时,我使用自定义转换将视图控制器滑出屏幕2/3,并在调用dismissViewControllerAnimated:completion:时再次将其滑回 我还使用连接到UIScreenedGePangTestureRecognitor的UIPercentDrivenInteractiveTransition滑动视图控制器 除了在以下时间之前调用dismissViewControllerAnimated:c

当调用
-presentViewController:animated:completion:
时,我使用自定义转换将视图控制器滑出屏幕2/3,并在调用
dismissViewControllerAnimated:completion:
时再次将其滑回

我还使用连接到
UIScreenedGePangTestureRecognitor
的UIPercentDrivenInteractiveTransition滑动视图控制器

除了在以下时间之前调用
dismissViewControllerAnimated:completion:
,所有操作都可以正常工作:

- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext
使其在动画运行前瞬间“闪烁”,并从屏幕外2/3滑回全屏

通过在视图控制器上对UIView进行子类化,我可以在
-setFrame
中设置断点,它显示了以下方法:

[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]
正在使用
(0 0;320 568)
调用
-setFrame


为什么要这样做?如何防止它在动画开始前设置帧

你找到解决办法了吗?我也遇到了同样的问题。在执行animateTransition方法中的任何代码行之前,它似乎要应用transitionContext中找到的初始帧。
[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]