UIViewController 默认过渡动画不起作用

Posted

技术标签:

【中文标题】UIViewController 默认过渡动画不起作用【英文标题】:UIViewController default transition animation not working 【发布时间】:2017-03-23 22:14:42 【问题描述】:

我试图在 navigationController 中以模态方式呈现 viewController ,然后在 x-seconds 之后推送另一个视图,但由于某种原因,firstsecond view 没有动画呈现。我尝试在主线程上dispatch UI 相关代码,但它没有修复错误。

我使用navigationController.setViewControllers([vc]), animated: true) 首先是rootViewController.present(navigationController, animated: true),对于这两个视图,

知道为什么缺少动画吗?

【问题讨论】:

【参考方案1】:

尝试使用

Self.layoutIfNeeded()

【讨论】:

【参考方案2】:

present modally 时,你应该使用presentViewController 方法。 当push 变成navigationController 时,你应该使用pushViewController。 如果你想先present,说VC1 现在NC2(以VC2 为根)。那么你应该使用NC2pushViewController

【讨论】:

以上是关于UIViewController 默认过渡动画不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在 2 个 UIViewController 的过渡之间为 UIView 元素设置动画

自定义 UIViewController 过渡动画适用于演示,但不适用于解雇

UIViewController 动画过渡在 iOS8 中失败

如何在将 UIViewController 呈现给自定义时更改默认转换

默认 popViewController 过渡意外淡出

Android过渡动画不起作用