默认 popViewController 过渡意外淡出

Posted

技术标签:

【中文标题】默认 popViewController 过渡意外淡出【英文标题】:Default popViewController transition fading unexpectedly 【发布时间】:2015-01-28 14:42:50 【问题描述】:

在我的应用程序中,默认的popViewController 转换不起作用——它显示了淡入淡出的转换。

推送动画按预期制作动画,但弹出动画则不然。我只是在使用

[self.navigationController popViewControllerAnimated:YES]; 

用于弹出 viewController。

知道它为什么会这样吗?

【问题讨论】:

贴一些代码,不然没什么好走的 发布代码以获得帮助 问题是我不知道它为什么会这样,推送动画工作正常,但弹出动画不工作。我只是使用 [self.navigationController popViewControllerAnimated:YES];用于弹出 viewController 当你说“不工作”是什么意思? 我的意思是它显示了默认弹出过渡的 FadeIn 过渡 【参考方案1】:

如果您使用淡入淡出动画在视图中的任何其他点执行过渡,则必须从视图层中删除该动画,例如:

[self.navigationController.view.layer removeAllAnimations];
[self.navigationController popViewControllerAnimated:YES]; 

【讨论】:

它对我不起作用,对于问题你可以看到 gif imgflip.com/gif/gxbre @Ahmad 看着你的动画,它并没有褪色......如果你看一下导航栏,它实际上看起来动画就像默认的弹出动画一样滑动。看起来您的应用程序的内存可能在过渡期间过度使用并导致其出现故障 在调试导航器中显示我的应用程序正在使用 18.5MB 内存,如果我的内存超载,为什么推送动画效果很好? @Ahmad 动画可能会在您的应用程序为其他进程投入过多内存或另一个动画与原始动画冲突时受到影响...弹出视图时会发生什么?例如,如果您的 viewWillAppear/viewDidAppear?

以上是关于默认 popViewController 过渡意外淡出的主要内容,如果未能解决你的问题,请参考以下文章

在过渡期间使用 popViewController 闪烁白色的问题

popViewController 不会删除 UINavigationBar 项目

iPhone 上 iOS Safari 中的过渡会导致意外行为

Firefox上具有不透明度和z-index的意外(不工作?)css3过渡[重复]

PopViewController 正在占用内存

popViewController 和 pushViewController 动画