10

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

我还使用附加到 a 的 UIPercentDrivenInteractiveTransitionUIScreenEdgePanGestureRecognizer来滑动视图控制器。

一切正常,除了调用dismissViewControllerAnimated:completion:, 之前:

- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext

被称为滑出屏幕的视图控制器的框架设置为:

(0 0; 320 568)

导致它在动画运行之前暂时“闪烁”,并从屏幕外的 2/3 滑回全屏。

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

[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]

正在调用-setFrame(0 0; 320 568)

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

4

0 回答 0