识别触摸移动方向

Posted

技术标签:

【中文标题】识别触摸移动方向【英文标题】:Identify the touch moved direction 【发布时间】:2013-04-01 12:36:08 【问题描述】:

我正在进行视图调整大小、移动和旋转一次触摸。

我正在尝试找到触摸移动的方向,例如,

如果触摸移动的方向是水平或垂直,则移动视图。 如果触摸移动方向是对角线,则调整大小。 如果触摸像旋转手势一样移动,则旋转视图。

我能够识别水平或垂直方向。

请建议我如何识别对角线和旋转。

【问题讨论】:

【参考方案1】:

我猜想旋转,你可以简单地使用这个方法-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

对于对角线,您可以比较两个点的坐标。 对于对角线,您也可以从这个post 获得帮助。

【讨论】:

谢谢@Hinata 我会试试这个。【参考方案2】:

试试这个:

TDResizerView

视图旋转和移动都可以在这个中使用

【讨论】:

实际上我正在尝试仅使用 1 个角。【参考方案3】:

在触摸移动功能中,您可以像这样识别移动手指的方向。

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

  [super touchesMoved:touches withEvent:event]; 
   UITouch *touch = [touches anyObject];
   CGPoint current=[touch locationInView:self];
   CGPoint last=[touch previousLocationInView:self];

   if(current.x>last.x)
      NSLog(@">>>>rigth");
   else
     NSLog(@">>>>left");
   

   if(current.y>last.y)
    NSLog(@">>>>up");
   else
    NSLog(@">>>>down");
      

【讨论】:

以上是关于识别触摸移动方向的主要内容,如果未能解决你的问题,请参考以下文章

手势识别器阻止触摸已结束

物体识别技术是啥?

微信小程序~触摸相关事件(拖拽操作手势识别多点触控)

Flutter 触摸事件监听 Listener 手势识别示例

Android -- 手势操作识别

如何检测同时滑动和触摸结束