如何让触摸事件穿透一个View

简介:

如何让触摸事件穿透一个View

偶然间发现,如何屏蔽或者让触摸事件穿透一个view是一个很简单的事情。

现象:

源码:

//
//  ViewController.m
//  UserInteraction
//
//  Created by YouXianMing on 14/10/23.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // 新建按钮
    UIButton *button = [[UIButton alloc] initWithFrame:self.view.bounds];
    [button addTarget:self
               action:@selector(buttonEvent:)
     forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
    
    // 覆盖在上层的view
    UIView *testView = [[UIView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:testView];
    testView.userInteractionEnabled = YES;
}

- (void)buttonEvent:(UIButton *)button {
    NSLog(@"触摸事件");
}

@end

其实原理很简单,一个触摸事件时候被view接受或者屏蔽,完全由这个参数决定,那就是userInteractionEnabled。

所以,当你想屏蔽掉一个事件不让他穿透,设置覆盖的view的userInteractionEnabled为NO即可。

目录
相关文章
|
Android开发
解析6种常用View 的滑动方法
  > View 的滑动是Android 实现自定义控件的基础,实现View 滑动有很多种方法,在这里主要讲解6 种滑动方法,分别是layout()、offsetLeftAndRight()与offsetTopAndBottom()、LayoutParams、动画、scollTo 与scollBy,以及Scroller。
1601 0
|
Android开发
view.performClick()触发点击事件
1、主要作用      自动触发控件的点击事件 2、界面的布局文件  activity_main.xml 3、MainActivity 代码     package com.
1377 0
|
Web App开发 前端开发 JavaScript
“穿透”层的鼠标事件
标题可能不是一读让人容易明白,上张图(转载的) 需要实现如下的效果,有一个浮动层,需要层级在它之下的一个元素也能照常响应相应的事件 一个100*100的元素,边框为1px solid #406c99,它有两个事件(鼠标移入、鼠标移出): onmouseover="this.
1025 0
|
编解码 Android开发 API
自定义View系列教程06--详解View的Touch事件处理
探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多...
977 0
|
10月前
移动端click事件、touch事件、tap事件的区别
移动端click事件、touch事件、tap事件的区别
271 0
|
10月前
|
前端开发
微信拖拽盒子movable-view点击事件失效问题
微信拖拽盒子movable-view点击事件失效问题
AutoLinkTextView 解决点击事件与长按事件冲突
      小菜最近需要对 TextView 进行校验,包括 URL / Phone / Email / Hashtags / Mentions 的判断,用的封装好的 GitHub:AutoLinkTextView ,整体效果很好,但是根据需求,单击与长按添加不同的效果,特意处理一下点击冲突。
1660 0
|
容器
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
2068 0
|
前端开发
scroll-view实现不了滑动效果
scroll-view实现不了滑动效果
283 0