美文网首页
监听手指长按在屏幕(view)的路径,具体一连串坐标

监听手指长按在屏幕(view)的路径,具体一连串坐标

作者: 呆呆羞 | 来源:发表于2017-06-19 17:53 被阅读0次

监听手指长按在view的路径,具体一连串坐标

UITouch只提供了点击屏幕的具体坐标。没有提供,手指的屏幕滑动,具体一连串坐标。
只好通过以下方法来,监听长按的路径。
直接上代码:

#import "ViewController.h"

@interface ViewController ()
{

    UIView *touchView;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [self longPressedOnView];
}
-(void)longPressedOnView{

    touchView = [[UIView alloc] init];
    touchView.backgroundColor = [UIColor brownColor];
    touchView.frame = CGRectMake(0, [UIScreen mainScreen].bounds.size.height / 2 - [UIScreen mainScreen].bounds.size.height / 4, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height / 2);
    [self.view addSubview:touchView];
    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressedOncell:)];
    [touchView addGestureRecognizer:longPress];
    longPress.allowableMovement = NO;
    //长按时间,多久后开始触发
    longPress.minimumPressDuration = 1;

}
-(void)longPressedOncell:(UILongPressGestureRecognizer *)longPress{
    CGPoint p = [(UILongPressGestureRecognizer *)longPress locationInView: touchView];
/*
UIGestureRecognizerStateBegan    可以理解为长按手势开始时触发
UIGestureRecognizerStateChanged 可以理解为长按手势开始改变时触发
UIGestureRecognizerStateEnded  可以理解为长按手势结束时触发
还有其他的一些longPress.state不一一列出来了,感兴趣的可以自行了解

*/
    if (longPress.state == UIGestureRecognizerStateChanged) {
        
        NSLog(@"长按手势开始改变p=%@",NSStringFromCGPoint(p));
       
    }
if (longPress.state == UIGestureRecognizerStateBegan) {
        
        NSLog(@"长按手势开始触发p=%@",NSStringFromCGPoint(p));
     
    }
else {
        NSLog(@"结束结束");
        
    }
    
}
如果文章帮到您,喜欢点个赞,谢谢您。
文章内容出错,记得留言,感激不尽。

相关文章

  • 监听手指长按在屏幕(view)的路径,具体一连串坐标

    监听手指长按在view的路径,具体一连串坐标 UITouch只提供了点击屏幕的具体坐标。没有提供,手指的屏幕滑动,...

  • 点击屏幕,获取屏幕上的坐标

    点击屏幕,获取屏幕上的坐标 直接上代码: 如果想获取手指在屏幕滑动一连串坐标请参考 点击参考 如果文章帮到您,喜欢...

  • Touch事件实现View拖动

      Touch监听事件可以监听手指在屏幕上的行为,例如按下、滑动。抬起。根据这些事件,可以做出View任意推动的效...

  • GestureDetector使用

    GestureDetector是view包下的一个子类,用于来监听手指在VIEW上得各种动作。当我们需要监听手指在...

  • View坐标

    View事件体系 1、Android坐标系 屏幕区域划分 屏幕坐标系 2、View位置详解 View视图结构 对于...

  • Android自定义View中的常用方法(距离、位置、点击事件)

    View坐标 屏幕的左上角为坐标的原点,屏幕上边缘往右为X轴正方向,屏幕左边缘往下为Y轴正方向. View自身坐标...

  • Android View 体系

    1.屏幕宽高的获取 2.View坐标体系 2.1 View坐标的含义 View的getHeight,getWidt...

  • Android 中的坐标系

    一. 屏幕坐标系和数学坐标系的区别 实际屏幕上的坐标系如下: 假设其中棕色部分为手机屏幕 二. View 的坐标系...

  • ios屏幕旋转

    在View中监听屏幕的旋转 第一种方法,我们在view的生命周期的layoutSubviews方法中监听statu...

  • Android 坐标系

    1.屏幕上的默认坐标系: 2.View的坐标系: View的坐标系统是相对于父控件而言的。 3.MotionEve...

网友评论

      本文标题:监听手指长按在屏幕(view)的路径,具体一连串坐标

      本文链接:https://www.haomeiwen.com/subject/yjcnqxtx.html