• iOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button


    有时候需要在scrollview上面添加手势,让其获取点击后,收起键盘,就用到添加手势。可是会出现一些后续问题,比如会拦截scrollview上面的其他一切可点击的控件,你可能会去设置手势控件的一些属性。但仅仅设置 UIGestureRecognizer 的属性是不够的,比如 :

     

    screenTouch.numberOfTapsRequired =1;

    [screenTouchsetCancelsTouchesInView:NO];

     

    这种有时候会拦截UITextField上面的清空text的按钮。这时候就需要下面这种方法,从根本上处理好手势响应事件方法。

    1、在.h 

    头文件中添加<UIGestureRecognizerDelegate>委托

    2、在.m体文件中添加实现方法————

     

    // 当一个事件判定为是一个手势时,先进入手势代理方法。该方法中判断点击的视图是不是button如果是button则返回NO,手势不响应该事件,既然没响应,也不会取消该事件的传递。则button会接收到该事件,并作处理。

     

    #pragma mark - UIGestureRecognizerDelegate

     

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

    {

        // 判断是不是UIButton的类

        if ([touch.view isKindOfClass:[UIButton class]])

        {

            return NO;

        }

        else

        {

            return YES;

        }

    }

     

    3、经过这么一次折腾,最大的感受就是,凡事都有解决的办法,不要轻易放弃,要多搜网络资源。

  • 相关阅读:
    1003 Emergency (25分)
    1013 Battle Over Cities (25分)
    1009 Product of Polynomials (25分)
    一元多项式的乘积与和(C++)
    1015 Reversible Primes (20分)
    list()函数对原来类型已经是列表的不会在添加[]
    全局变量把值固定
    python中None与Null的区别
    基础算法之排序
    列表和字符串的方法返回一个新的对象;直接加入到原对象中
  • 原文地址:https://www.cnblogs.com/ChouDanDan/p/5039725.html
Copyright © 2020-2023  润新知