2011-02-14 97 views
1

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

回答

0

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

这真的很容易使用。一旦你决定要“弹回”到一个位置,这样做:

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

完全效仿的UIScrollView您还需要你停止绵延之前设置一个“最大拉伸”的距离。

但为什么重新发明轮子?您提供的UIKit组件可供使用。如果把你的视图放到UIScrollView中,就可以使用它,继续使用它。节省您开发和调试时间。

+0

我明白你的意思,不要重新发明轮子。但是我希望只在向一个方向拖动时发生反弹 - 左 - 当水平滚动时,UIScrollView会左右反弹。 – akaru 2011-02-14 21:32:45

相关问题