• 屏蔽手势UIGestureRecognizer 先后响应


     在iOS5一下对于手势的识别能力并不强,比如iOS6上面按钮的一个tap事件,最先接收的是uiview,并相应,而不是最上面的button,这时候就需要判断手势所在的位置和手势所在的控制器了

    如下例子:

    在scrollview上add 了一个单击事件 

        singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];

        [singletap setNumberOfTapsRequired:1];

       [scrollview addGestureRecognizer:singletap];

    这样点击按钮,不会响应按钮的事件,直接跳到handleSingleTap去了?

    单击事件不是应该先被直接单击的subview处理,如果没有处理才提交到supview处理嘛?

    怎么才能让按钮响应单击事件?

      

    使用

    UIGestureRecognizerDelegate的一个方法判断点击的是哪个view,确定是否响应事件。

        singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];

        [singletap setNumberOfTapsRequired:1];

        singletap.delegate = self;

       [scrollview addGestureRecognizer:singletap];

     

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
        if(touch.view != scrollview){
            return NO;
        }else
            return YES;
    } 
    
    
    
    可结合下面方法
    //TODO: 当手势在 tableview位置时候阻止触摸事件向下传递
    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
        //    if (oldPassword.superview!=nil) {
        //    NSLog(@"%@",touch.view);
        
        CGPoint point=[touch locationInView:clientTableview];
        NSLog(@"%f,%f",point.x,point.y);
        if (point.x&&point.x<clientTableview.frame.size.width && point.y &&  point.y< clientTableview.contentSize.height) {
            returnNO;
        } 
        return [supergestureRecognizer:gestureRecognizer shouldReceiveTouch:touch];;
    
    }
  • 相关阅读:
    一个例子看懂所有nodejs的官方网络demo
    HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)
    HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)
    HDU 4274 Spy's Work (树形DP)
    HDU 4274 Spy's Work (树形DP)
    HUST 1328 String (字符串前缀子串个数 --- KMP)
    HUST 1328 String (字符串前缀子串个数 --- KMP)
    POJ 3167 Cow Pattern ★(KMP好题)
    POJ 3167 Cow Pattern ★(KMP好题)
    HDU 2594 Simpsons’ Hidden Talents (KMP)
  • 原文地址:https://www.cnblogs.com/nonato/p/3447004.html
Copyright © 2020-2023  润新知