我不确定是什么导致它,但我和我团队中的其他人发现,出于某种原因, iOS有时会决定完全禁用我们应用中的所有动画。 iOS通用动画(视差,应用切换,主页按钮等)仍然启用,因此仅限于我们的应用。
如果不是因为-[UIResponder becomeFirstResponder]
之类的东西在幻影动画之后不能立即发挥作用这一事实就不会那么多了(例如,在viewDidAppear
方法中,或-[UIViewController dismissViewControllerAnimated:completion:]
的块。
我已经检查了我们的代码以确保这不是我们所做的事情,事实上我们只是将YES
传递给Cocoa Touch框架,当它询问我们是否想要动画时,我们的任何内容都没有。代码(或据我所知,在我们的第三方SDK中)是+[UIView setAnimationsEnabled:]
曾被调用。同样地,我没有在iOS设置中做任何事情,比如“Reduce Motion”,只是重新启动我们的应用程序或让iOS设备进入睡眠状态会反转这种状态。
那么,什么可能导致iOS禁用我们的应用程序使用系统动画的能力?此外,这是否影响如何/何时/如果调用委托方法和回调块?
此外,有没有办法检测,触发或反转iOS禁用动画的决定?