美文网首页
IOS-手势指定响应区域

IOS-手势指定响应区域

作者: leonardni | 来源:发表于2018-06-21 16:00 被阅读613次

在开发过程中,我们可能会遇到这个问题. 当我们给一个view添加了手势,但是我们又不想点击view上面的视图也触发手势.如下图:
我们在红色view上添加了手势,但是又不想点击黄色view也触发.其实这里用到UITapGestureRecognizer的一个代理方法



上代码,先创建两个view,并且给bigView添加手势

    self.bigView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
    self.bigView.backgroundColor = [UIColor redColor];
    UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(bigMap:)];
    recognizer.delegate = self;
    [self.bigView addGestureRecognizer:recognizer];
    [self.view addSubview:self.bigView];
  
    self.smallView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
    self.smallView.backgroundColor = [UIColor yellowColor];
    [self.bigView addSubview:self.smallView];

实现UITapGestureRecognizer的一个代理方法,我不用多说,大家一看就明白怎么回事了.这是就解决了防止点击黄色view也触发的问题了

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    
    if ([touch.view isDescendantOfView:self.smallView]) {
        return NO;
    }
    return YES;
}

相关文章

  • IOS-手势指定响应区域

    在开发过程中,我们可能会遇到这个问题. 当我们给一个view添加了手势,但是我们又不想点击view上面的视图也触发...

  • 手势响应区域

  • Unity UGUI IPointerEnterHandler、

    目标效果: 当拖动角色与检测区域重叠,则会响应鼠标OnPointerEnter进入方法,移出指定区域则响应OnPo...

  • iOS开发中 手势冲突问题

    问题描述: 在操作交互比较多的页面时,经常会遇到手势冲突的问题。有的时候两个响应区域重合,手势响应就会出现意想不到...

  • iOS-添加手势(文章结尾有完整代码)

    手势,手势响应GestureRecognizer 关于手势响应IOS中封装了一个类,能响应一般手势UIGestur...

  • UIMenuController与UITableViewCell

    使用系统的api,无需添加长按手势, 不会隐藏键盘 可以控制响应的区域 以下是 UITableView 的demo

  • iOS多手势冲突处理

    我们有时候会遇到当两个手势(UIGestureRecognizer)放在不同view上,滑动公共区域时,只能响应上...

  • RN手势

    React Native框架底层的手势响应系统提供了响应处理器,PanResponder API将这些手势响应处理...

  • Android饼图好画,但不规则区域点击如何区分?

    前言 前阵子帮团队招人,我很喜欢问候选人这个问题。点击区域是不规则的,该如何让手势事件在不规则区域内做出响应?如果...

  • 按钮长按事件

    iOS有长按手势UILongPressGestureRecognizer,这个手势需要指定长按的事件,指定时间之后...

网友评论

      本文标题:IOS-手势指定响应区域

      本文链接:https://www.haomeiwen.com/subject/jhxcyftx.html