UIView 动画冻结

Posted

技术标签:

【中文标题】UIView 动画冻结【英文标题】:UIView Animation Freezes 【发布时间】:2013-10-30 15:16:24 【问题描述】:

由于UIScrollViewKeyboardDismissModeInteractive doesn't seem to work with a text view inside a toolbar above the keyboard,我正在手动实现拖动键盘解除(如在 iPhone 消息应用程序中)。

它在纵向模式下工作,但在横向模式下,有时当我为工具栏(实际上只是一个UIView)和键盘设置动画时,它们会冻结。但是,它们确实有动画,因为我使用了动画代码运行的断点进行了检查,当我点击它们应该在的屏幕上时,我得到了正确的反应(比如键盘键弹出等)。

我使用的是旧式动画beginAnimations:context:,因为这是how to mimic the keyboard animation in ios 7。

这似乎是一个 iOS SDK 错误。我该如何解决这个问题?

【问题讨论】:

也许它被取消了。此外,您可以使用更现代的风格(即动画块)来模仿键盘动画。你也可以看看这个问题:***.com/questions/18930423/… 【参考方案1】:

我有时(当平移速度很大时)使用UIViewAnimationCurveLinear 而不是键盘通知的userInfo 中的曲线。我去掉了这个条件,所以我总是使用键盘通知userInfo 中的曲线,现在看起来一切正常。

【讨论】:

以上是关于UIView 动画冻结的主要内容,如果未能解决你的问题,请参考以下文章

ios uiview封装动画(摘录)

iOS动画1 — UIView动画

当我将 UIView 动画放在不同类的 containerView 中时,为啥我的 UIView 动画不起作用?

如何为 UIView 关键帧动画设置动画曲线(`func UIView.animateKeyframes()`)

ios之UIview动画

iOS开发UI篇—核心动画(UIView封装动画)