状态恢复后,dismissViewControllerAnimated 没有使用相同的动画

Posted

技术标签:

【中文标题】状态恢复后,dismissViewControllerAnimated 没有使用相同的动画【英文标题】:After state restoration, dismissViewControllerAnimated is not using the same animation 【发布时间】:2014-10-09 16:57:25 【问题描述】:

我正在使用故事板实现一个 ios 应用程序,其中一个按钮调用 dismissViewControllerAnimated 以从视图控制器 B 移回之前的视图控制器 A

在两个控制器之间,我使用水平翻转动画设置了模态转场:

View Controller A → (Modal Segue with Flip transition) → View Controller B

点击按钮,dismissViewControllerAnimated 按预期执行翻转过渡反转

但是当应用程序使用状态恢复机制显示控制器B时,使用的过渡是标准的(弹出视图)而不是翻转过渡。

如何让dismissViewControllerAnimated 在恢复后也使用相同的过渡类型?

【问题讨论】:

【参考方案1】:

恢复完成后将modalTransitionStyle设置为UIModalTransitionStyleFlipHorizontal

【讨论】:

知道了,谢谢。我已将其设置在应用程序委托的 'sapplication:viewControllerWithRestorationIdentifierPath 方法中。当最后一个 identifierComponents 引用B 控制器时,它设置了bViewController.modalTransitionStyle = .FlipHorizontal

以上是关于状态恢复后,dismissViewControllerAnimated 没有使用相同的动画的主要内容,如果未能解决你的问题,请参考以下文章

糟糕编程的后果:dismissViewController 与 popViewController

将dismissViewController 与UIAlertController 一起使用

dismissViewController 或 popViewController 都不起作用

为 DismissViewController 添加通知而不进行子类化

ios调用dismissViewController的一个小陷阱

进程被杀死后恢复状态