关闭自定义模式视图控制器

Posted

技术标签:

【中文标题】关闭自定义模式视图控制器【英文标题】:Dismiss custom modal view controller 【发布时间】:2012-08-01 08:36:46 【问题描述】:

我正在开发一个 iPad 应用程序,我在其中创建了一个自定义 segue,以向我的视图控制器展示自定义动画。它现在(几乎)工作得很好,最后它看起来像一个表单模式视图控制器,正是我想要的样子。

现在我需要创建一个自定义动画来关闭与第一个动画匹配的模态视图控制器。 最好的方法是什么?我的自定义segue中有我的自定义动画,我认为反向动画也应该在那里。但我也认为 segue 不是拥有它的地方。

你们是怎么做到的?

谢谢

【问题讨论】:

【参考方案1】:

不幸的是,您不能使用 segue 以一种方式执行模态 ViewController 的关闭(将在 ios6 中更改)。只需执行您的自定义关闭动画并在动画完成块中的 parentViewController 上调用 dismissModalViewControllerAnimated:NO。

【讨论】:

我接受您的回答,尽管我现在认为为 Apple 非全屏模式视图控制器创建自定义动画并不是最好的方法。我现在开始为模态窗口创建自己的容器,这样我就可以为每个元素设置动画和自定义,例如背景覆盖、阴影、容器等。也许我会将过渡移动到 Segue,但现在它们可以通过UIViewController 类别。

以上是关于关闭自定义模式视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中呈现自定义模式 [关闭]

关闭自定义模式/覆盖不更新 SwiftUI 中的视图内容

关闭自定义警报视图并解除 segue 问题?

将整个项目的自定义视图显示为页脚 [关闭]

如何在快速关闭第二个视图控制器后启用带有视图的自定义视图控制器

如何在ios中自定义推送和弹出动画时将视图传递给另一个控制器? [关闭]