• 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-----");

    }

     
  • 相关阅读:
    参考__JAVA
    债券价格和通胀率
    C++ 面试题
    欧式和美式期权
    explicit
    smart pointer
    const pointer
    manacher-马拉车算法
    输入有空格的字符串的2种方法
    bind()与connect()——计网中socket的使用
  • 原文地址:https://www.cnblogs.com/nngh/p/4897607.html
Copyright © 2020-2023  润新知