视图控制器解除动画参数

Posted

技术标签:

【中文标题】视图控制器解除动画参数【英文标题】:View controller dismissal animation parameters 【发布时间】:2015-05-25 13:26:34 【问题描述】:

我在单独的UIWindow 中显示UIViewController。此视图控制器呈现另一个 UIViewController。当呈现的视图控制器被解除时,我也需要解除UIWindow(用户看不到它),所以我需要知道在解除视图控制器时ios使用了什么动画、持续时间和曲线。

我怎样才能找到这个?我可以猜到,但如果能确切地知道就好了。理想情况下,我希望有一些引用默认系统动画的方法。


编辑:要走的路可能只是为关闭窗口设置动画,然后在没有动画的情况下关闭呈现的视图控制器。但无论如何,最好知道确切的动画参数以使其看起来与视图控制器解除完全相同。

【问题讨论】:

【参考方案1】:

可以使用dismissViewControllerAnimated:completion的completionBlock:

// dismiss the view controller
[self dismissViewControllerAnimated:YES completion:^
    // dismiss the window when presented view controller is dismissed
];

编辑:当另一个 UIViewController 出现时,为什么不关闭窗口?您可以将另一个视图控制器呈现给 keyWindow 的 rootViewController

【讨论】:

我可能不够清楚。使用这种方法,我将看到我不想要的窗口和呈现视图控制器。 关于您的编辑,是的,我可以用动画关闭窗口,但如果知道参数让它看起来像视图控制器正在被关闭,那就太好了。

以上是关于视图控制器解除动画参数的主要内容,如果未能解决你的问题,请参考以下文章

解除视图控制器动画:完成:在 iOS 8 上

如何在解除第二个控制器后调用第一个控制器中的函数

我怎样才能呈现一个模态视图控制器,并带有默认的关闭动画?

关闭视图控制器动画后的 EXC_BAD_ACCESS:完成:

关闭 UIImagePickerController 后的 Swift 动画

当模态视图控制器被解除时如何调用函数