在没有UIScrollView的iPhone应用程序中模拟弹跳效果

时间:2011-02-14 19:12:12

标签: iphone user-experience

我正在使用平移手势来拖动我的应用中的项目。我知道我可以使用UIScrollView在拖动到边缘时获得“反弹”效果。然而,这似乎是一个黑客,所以我想找到一种方法来获得该效果手动拖动项目(设置其框架或中心点)。我很好奇是否有标准方法,或者Accelerate框架中的物理库,类似于那些不需要我实现自己的物理引擎的东西。

1 个答案:

答案 0 :(得分:0)

标准的UIView动画曲线是使用加速/减速曲线的曲线,它应该提供一个很好的“反弹”动作。

它非常易于使用。一旦您决定要“快照”某个位置,请执行以下操作:

[UIView beginAnimations:nil context:nil];
CGRect newFrame = viewToAnimate.frame;
newFrame.origin.x = snapBackXcoordinate;
viewToAnimate.frame = newFrame;
[UIView commitAnimations];

要完全模拟UIScrollView,您还需要在停止拉伸之前设置“最大拉伸”距离。

但为什么要重新发明轮子呢?您获得的UIKit组件可供使用。如果将您的视图放入UIScrollView就可以了,请继续使用它。节省开发和调试时间。