【发布时间】:2012-10-19 21:43:09
【问题描述】:
我正在使用UIView 方法animateWithDuration:animations 为滑动UIView 设置动画。它看起来有点波涛汹涌。有没有更好的方法,比如 CoreGraphics,可以实现更流畅的动画?
【问题讨论】:
-
如果您所做的只是滑动视图,animateWithDuration 是一个非常好的选择,并且应该提供合适的结果。如果它看起来波涛汹涌,那么您可能还遗漏了另一个问题。另一种动画方法是使用 CABasicAnimation 之类的东西,当您移动层的位置属性(或 CALayer 的另一个可动画属性)时,它可能会添加到您尝试动画/滑动的视图层中。
-
您应该查看该视图有多少子视图(标签、图像等)都计入其开销。如果这些视图不透明,则动画性能可能会受到影响。还要小心使用较旧或蹩脚的图形卡在 Mac 上的模拟器中测试动画性能。我见过 Retina Simulator 有断断续续的动画,但在实际设备上动画很流畅。
-
请注意,iOS Core Animation 在模拟器上通常很不稳定,但在设备上运行流畅。确保在设备上进行测试。还要确保你测试你的应用程序运行时没有绑定到 Xcode,因为调试器会减慢速度。
标签: ios uiview core-animation core-graphics