手动动画 UIScrollView.contentOffset 时背景图案跳跃

Posted

技术标签:

【中文标题】手动动画 UIScrollView.contentOffset 时背景图案跳跃【英文标题】:Background pattern jumping when animating UIScrollView.contentOffset manually 【发布时间】:2011-12-12 18:28:50 【问题描述】:

我正在尝试使用旧式[UIView beginAnimations:context:] 方法手动为UIScrollViewcontentOffset 设置动画。我正在为它制作动画而不是使用setContentOffset:animated:,因为我想控制持续时间。我使用的是旧式方法而不是使用块,因为我的目标是 ios 3 及更高版本(顺便说一句,这样做是否有效?)。

当它动画时,子视图动画很好,但背景图案跳跃,好像它根本没有动画一样。

有人知道我是否需要做任何特别的事情来完成这项工作?

谢谢!

编辑:当前的框架是在滚动视图中拥有一个带有自己背景图案的普通 UIView。虽然远非理想:-(

【问题讨论】:

就有效而言,Apple 通常建议您检查功能是否存在,并在(且仅当显然)存在时使用它们。从 3.0 之前开始,Obj-C 中就有块,不是吗? 嗯,所有老式动画文档都说“在 iOS 4.0 及更高版本中不鼓励使用此方法。”但也许我不明白 Deployment Target 和 Base SDK 的区别! 【参考方案1】:

您需要的是自动滚动/以编程方式滚动。这里是 http://www.aaron.griffith.name/weblog/2011/02/23/scrolling-a-uiscrollview-programmatically/

【讨论】:

是的,我正在另一个滚动视图中以编程方式滚动。我只是希望避免这种情况。考虑到我在理论上制作动画的所有属性应该都可以使用“正确”的方法进行动画处理,因此必须使用计时器手动完成所有动画似乎有点错误,对吧?嗯。

以上是关于手动动画 UIScrollView.contentOffset 时背景图案跳跃的主要内容,如果未能解决你的问题,请参考以下文章

手动动画(9.2 图层时间)

手动动画 UIScrollView.contentOffset 时背景图案跳跃

如何为手动“动画”重新排队对 UIView drawRect 的请求

SVG 的每个路径命令的手动动画

UITableView 手动重新排序后的动画完成通知

有没有一种安全的方法来手动动画 UIScrollView 的滚动?