• ios 开发日记17-单击手势和双击手势共存问题


     

    iOS 单击手势和双击手势共存问题

    分类: IOS

    - (void)viewDidLoad

    {

        [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 200, 110, 200)];

        imageView.contentMode = UIViewContentModeScaleAspectFit;

        [imageView setImage:[UIImage imageNamed:@"xxx.bundle/1.jpg"]];

        imageView.userInteractionEnabled = YES;

        [self.view addSubview:imageView];

        

        UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizeralloc]initWithTarget:self action:@selector(singleTap:)];

        [singleTapGestureRecognizer setNumberOfTapsRequired:1];

        [imageView addGestureRecognizer:singleTapGestureRecognizer];

        

        UITapGestureRecognizer *doubleTapGestureRecognizer = [[UITapGestureRecognizeralloc]initWithTarget:self action:@selector(doubleTap:)];

        [doubleTapGestureRecognizer setNumberOfTapsRequired:2];

        [imageView addGestureRecognizer:doubleTapGestureRecognizer];

        

        //这行很关键,意思是只有当没有检测到doubleTapGestureRecognizer 或者 检测doubleTapGestureRecognizer失败,singleTapGestureRecognizer才有效

        [singleTapGestureRecognizer requireGestureRecognizerToFail:doubleTapGestureRecognizer];

    }

    - (void)singleTap:(UIGestureRecognizer*)gestureRecognizer

    {

        NSLog(@"-----singleTap-----");

        [self.view setBackgroundColor:[UIColor redColor]];

    }

    - (void)doubleTap:(UIGestureRecognizer*)gestureRecognizer

    {

        [self.view setBackgroundColor:[UIColor blueColor]];

        NSLog(@"-----doubleTap-----");

    }

     
  • 相关阅读:
    topK问题 前K个高频元素 leetcode692
    反转链表 leetcode206
    关于IO多路复用的简单整理
    两数之和 leetcode1
    使用 jenkins 发布 前端 项目
    CentOS7 部署 nacos 集群
    JWT
    keepalived 的 unicast 单播模式
    使用 keepalived 高可用 nginx
    翻转二叉树 leetcode226
  • 原文地址:https://www.cnblogs.com/nngh/p/4897607.html
Copyright © 2020-2023  润新知