【发布时间】:2009-07-16 15:06:39
【问题描述】:
我正在尝试为一种可拖动的 UIView 设置动画,其行为应该是这样的:
- 随着用户的触摸在屏幕上拖动。
- 检测滑动触摸并以初始速度和负加速度自动拖动,一段时间后停止。
就像在照片周围移动,然后通过它到屏幕的一侧。
对此有什么建议吗?
【问题讨论】:
标签: objective-c iphone cocoa-touch animation uiview
我正在尝试为一种可拖动的 UIView 设置动画,其行为应该是这样的:
就像在照片周围移动,然后通过它到屏幕的一侧。
对此有什么建议吗?
【问题讨论】:
标签: objective-c iphone cocoa-touch animation uiview
大约 3 周前(我)问了一个similar question。虽然我收到的一些答案有点离题,但最好的建议是: 1- 研究 Apple 的 MoveMe 示例,了解如何触摸对象并将其拖动。并且 2-您通过将 [touch locationInView:self.view] 与 touchesEnded 中的 [touch previousLocationInView:self.view] 进行比较来“抛出”对象 (也可以在 touchesBegan 中存储对第一次触摸的引用,但我发现用户可能会暂停,这不太有用)使用每个时间戳,您可以确定滑动(轻弹)的方向和速度并使用它们来发送你的小 UIView 飞来飞去。显然你想施加力(“摩擦”)或任何东西来减慢它,所以它不会飞到你的屏幕上......
【讨论】:
我不确定。但也许你可以使用 UIScrollView 对象的减速属性。将您的 imageView 放入 UIScrollView 并使用此属性。它是一个 BOOL 变量,如果用户没有拖动内容但仍在滚动,则返回值为 YES。
【讨论】: