我正在使用平移手势来拖动我的应用中的项目。我知道我可以使用UIScrollView在拖动到边缘时获得“反弹”效果。然而,这似乎是一个黑客,所以我想找到一种方法来获得该效果手动拖动项目(设置其框架或中心点)。我很好奇是否有标准方法,或者Accelerate框架中的物理库,类似于那些不需要我实现自己的物理引擎的东西。
答案 0 :(得分:0)
标准的UIView动画曲线是使用加速/减速曲线的曲线,它应该提供一个很好的“反弹”动作。
它非常易于使用。一旦您决定要“快照”某个位置,请执行以下操作:
[UIView beginAnimations:nil context:nil];
CGRect newFrame = viewToAnimate.frame;
newFrame.origin.x = snapBackXcoordinate;
viewToAnimate.frame = newFrame;
[UIView commitAnimations];
要完全模拟UIScrollView,您还需要在停止拉伸之前设置“最大拉伸”距离。
但为什么要重新发明轮子呢?您获得的UIKit组件可供使用。如果将您的视图放入UIScrollView就可以了,请继续使用它。节省开发和调试时间。