zoukankan      html  css  js  c++  java
  • iOS开发五种触屏事件的处理

    UIGestureRecognizer:是一个抽象类,表示触屏手势,这个类没有具体的作用。实际中经常使用的是这个类的子类:

    UITapGestureRecognizer(敲击手势),UILongPressGestureRecognizer(长按手势),UISwipeGestureRecognizer(清扫手势),UIPinchGestureRecognizer(捏合手势),UIPanGestureRecognizer(拖拽手势)。这五种手势的使用方法大同小异,下面介绍具体的使用方法:

    1. UITapGestureRecognizer(敲击手势)

        UITapGestureRecognizer *tapgest = [[UITapGestureRecognizer alloc] init];

        //属性 每个手势事件所带有的属性不同

        //敲击事件有两个重要属性:一个是敲击的次数,一个是敲击的手指数,分别代表这个敲击事件需要敲击几次屏幕和几个手指敲击可以响应

        tapgest.numberOfTapsRequired = 2;

        tapgest.numberOfTouchesRequired = 1;

         tapgest.delegate = self;

        //监听事件,监听的这个事件一般带一个参数,这个参数就是这个手势本身

        [tapgest addTarget:self action:@selector(tapgestView:)];

        //添加到view

        [self.imageView addGestureRecognizer:tapgest];

    2. UILongPressGestureRecognizer(长按手势)

        //长按  手势有开始的状态和结束的状态,而  长按时间 属性表示开始状态之前的时间,即按多长时间响应手势,松开手指时候的状态是结束状态 (开始状态和结束状态之间没有时间限制)

     //手势2 长按手势

     UILongPressGestureRecognizer *longgesture = [[UILongPressGestureRecognizer alloc] init];

        //属性

        //长按时间

        longgesture.minimumPressDuration = 3;

        //移动距离,在这个距离范围内按手势有用

        longgesture.allowableMovement = 30;

        

        //添加事件

        [longgesture addTarget:self action:@selector(longpressView:)];

        //添加到view

        [self.imageView addGestureRecognizer:longgesture];

    3. UISwipeGestureRecognizer(清扫手势)

    //3.清扫手势

        UISwipeGestureRecognizer *swip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipView:)];

        //属性

        //轻扫手势有一个轻扫的方向,默认的方向是向右,可以改变

        swip.direction = UISwipeGestureRecognizerDirectionUp;

        //添加到view

        [self.imageView addGestureRecognizer:swip];

    4.  UIPinchGestureRecognizer(捏合手势)

    //4.捏合手势

        UIPinchGestureRecognizer *pinchgesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)];

        //添加到view

        [self.imageView addGestureRecognizer:pinchgesture];

    5. UIPanGestureRecognizer(拖拽手势)

    //5.拖拽手势

        UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panView:)];

        [self.imageView addGestureRecognizer:pan];

  • 相关阅读:
    代码review之 isInfoEnable()
    sdk、jdk、jre、jvm、jdt、cdt分别都是什么东西
    思考总结: 决胜21点 开篇 概率问题
    Java多线程开发系列之四:玩转多线程(线程的控制2)
    Java多线程开发系列之四:玩转多线程(线程的控制1)
    Java多线程开发系列之三:线程这一辈子(线程的生命周期)
    Java多线程开发系列之二:如何创建多线程
    [系列] Gin框架
    [系列] Gin框架
    [系列] Gin 框架
  • 原文地址:https://www.cnblogs.com/xiaofei993/p/5342809.html
Copyright © 2011-2022 走看看