美文网首页
iOS点击事件响应层修改笔记

iOS点击事件响应层修改笔记

作者: 数字d | 来源:发表于2021-07-27 09:36 被阅读0次

原有工具栏功能的实现是一个自定义的UIView,但最近的新需求是根据用户的不同身份,给这个自定义的view添加不同的边框,如图:


view

用户身份6种,根据不同的身份展示不同的边框,边框图片是UI已经做好了的

经过尝试,设置背景图的效果时候,边框会被遮盖

只有将背景框的图片遮盖在原有的自定义view上展示效果才比较理想

但是遇到了一个问题,就是当背景框的图片遮住了原有的UIView之后,会导致UIView上的所有按钮和tap手势都接收不到点击事件.

解决方案和步骤:

1.创建一个UIImageView的子类YZClearImageView

.m

#import "YZClearImageView.h"

@implementation YZClearImageView

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    UIView * hitView = [super hitTest:point withEvent:event];
    if (hitView == self) {
        return nil;
    }
    return hitView;
}

@end

.h

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface YZClearImageView : UIImageView

@end

NS_ASSUME_NONNULL_END

2.设置imageView的用户交互和frame

        self.imageView = [[YZClearImageView alloc] initWithFrame:frame];
        self.imageView.backgroundColor = [UIColor clearColor];
        self.imageView.image = [UIImage imageNamed:@"YZ_img_gzkp_wz"];
        self.imageView.userInteractionEnabled = YES;
        self.imageView.center = self.contentView.center;
        [self addSubview:self.imageView];

参看:hitTest:withEvent:

相关文章

  • iOS点击事件响应层修改笔记

    原有工具栏功能的实现是一个自定义的UIView,但最近的新需求是根据用户的不同身份,给这个自定义的view添加不同...

  • UIView中的hitTest方法

    1. 事件响应的过程 在iOS中的view之间逐层叠加,当点击了屏幕上的某个view时,这个点击动作会由硬件层传导...

  • UIView响应链及事件穿透

    参考:iOS触摸事件全家桶史上最详细的iOS之事件的传递和响应机制-原理篇 1、同一层级,让上面的一层不响应,让被...

  • iOS基础06—--事件响应链

    iOS基础06—--事件响应链 移动应用的最大特性就是响应用户交互操作,那么iOS系统是如何去响应一个简单的点击事...

  • iOS事件与响应

    参考文件:1.官方文档2.iOS触摸事件那点儿事3.iOS 点击事件传递及响应4.iOS事件处理,看我就够了 1....

  • 事件传递和响应机制

    iOS 事件传递和响应机制 一.概述 APPs通过responder objects来接收和处理点击事件,resp...

  • iOS 中事件的响应链和传递链

    iOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层...

  • 不用但一定要懂 ---- iOS 之 响应链、传递链 与 手势识

    iOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层...

  • 关于重写hitTest,拦截runLoop响应

    iOS设备的响应机制是,触发事件后,事件添加runLoop队列中,事件处理时,一层一层往下找对应触发事件的View...

  • iOS 响应链

    iOS开发 - 事件传递响应链iOS 响应者链,事件的传递事件传递之响应链Cocoa Touch事件处理流程--响...

网友评论

      本文标题:iOS点击事件响应层修改笔记

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