繁体   English   中英

如何通过触摸和滑动来移动和滑出UIView?

[英]How can I move around and slide away a UIView with touches and swipes?

我正在尝试制作一种可拖动的UIView动画,其行为应如下所示:

  • 跟随用户的触摸,沿着屏幕拖动。
  • 检测滑动触摸并以初始速度和负加速度自动拖动,该负加速度会在一段时间后停止。

就像在照片周围移动,然后穿过照片到达屏幕的一侧。

有什么提示吗?

大约3周前,(我)问了一个类似的问题 尽管我收到的一些答案有些偏离,但最好的建议是:1-研究Apple的MoveMe示例,以了解如何触摸物体并拖动物体。 然后2-通过在touchesEnded中将[touch locationInView:self.view][touch previousLocationInView: self.view ]基本进行比较来“抛出”对象(还可以在touchesBegan中存储对首次触摸的引用,但我发现它没什么帮助(用户可能会暂停),使用每个时间戳记可以确定滑动(轻拂)的方向和速度,并使用它们发送您的小UIView飞来飞去。 显然,您想施加力量(“摩擦”)或使其减慢速度,以便它不会在屏幕上飞来飞去...

我不确定。 但是也许您可以使用UIScrollView对象的de减速属性。 将您的imageView放在UIScrollView中并使用此属性。 它是BOOL变量,如果用户不拖动内容但仍在滚动,则返回值为YES。

查看Apple的MoveMe示例项目(可能需要注册)。 它演示了如何让标语牌跟随触摸以及如何根据不同的触摸进行自我转换。

本质上,其想法是,您可以覆盖UIResponder触摸方法以分析设备接收到的触摸类型,然后移动对象以跟随用户的手指,或者根据是否是缓慢拖动还是在某个方向赋予其速度轻扫。 然后,您可以使用“核心动画”为对象的帧设置动画。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM