iOS 如何让超出父视图的部分响应事件

news/2024/9/24 3:17:40/
1.demo

奉上自己的demo

2. 不能点击的原因

由于找不到hittest view,所以没有可以响应的uiresponser对象,所以点击没有任何反应

3. 解决思想

覆写hittest方法让父视图可以找到这个视图就好

4. 代码演示
- (UIView *)hitTest:(CGPoint)point withEvent:    (UIEvent *)event
{if (!self.isUserInteractionEnabled|| self.isHidden|| self.alpha <= 0.01){return nil;}else{for (UIView *subView in [self.subviews reverseObjectEnumerator]) {CGPoint convertedPoint = [subView convertPoint:point fromView:self];UIView *hitView = [subView hitTest:convertedPoint withEvent:event];if (hitView){return hitView;}}return self;}
}

http://www.ppmy.cn/news/1462106.html

相关文章

vld.ini配置文件说明

vld.ini配置文件说明 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Visual Leak Detector - 初始化/配置文件 ;; 版权所有 (c) 2005-2017 VLD团队 ;; ;; 本库是自由软件&#xff1b;你可以在自由软件基金会发布的GNU宽通用公共…

社交软件数据恢复:思语

在这个教程中&#xff0c;我们将详细介绍如何恢复在思语中丢失的数据&#xff0c;而不会推荐任何具体的数据恢复软件。 一、备份的重要性 在开始数据恢复之前&#xff0c;我们需要强调备份的重要性。备份可以确保即使数据丢失&#xff0c;您也可以轻松恢复。因此&#xff0c;…

JAVA虚拟机(JVM)中的堆

介绍 Java虚拟机中的堆是一个非常重要的区域&#xff0c;它一般用来存储实例对象和数组的区域&#xff0c;它存在于运行时数据区&#xff0c;同时它是线程共享的区域&#xff0c;在堆内存不足时会发生OOM&#xff0c;也是Java中的垃圾回收器回收的主要区域。但是不正确的内存管…

Linux-centos下安装ffmpeg的详细教程

源安装 第一种方式&#xff1a; . 首先需要安装yum源&#xff1a; 这个源安装的ffmpeg版本是3.4 yum install epel-release yum install -y https://mirrors.ustc.edu.cn/rpmfusion/free/el/rpmfusion-free-release-7.noarch.rpm然后可以安装ffmpeg yum install -y ffmpeg ff…

php+vant van-uploader手机拍照 上传

设置capture”user”&#xff0c;则只会调起摄像头&#xff1b; 不设置capture“user”&#xff0c;则会弹窗让选择相册或拍照。 HTML: <link rel"stylesheet" href"/vue/vant.css"><van-field name"uploader" label"照片"&…

《Python编程从入门到实践》day29

# 昨日知识点回顾 修改折线图文字和线条粗细 矫正图形 使用内置格式 # 今日知识点学习 15.2.4 使用scatter()绘制散点图并设置样式 import matplotlib.pyplot as plt import matplotlib matplotlib.use(TkAgg)plt.style.use(seaborn-v0_8) # 使用内置格式 fig, ax plt.subpl…

基于Hadoop的课程诊改大数据可视化分析研究与应用

基于Hadoop的课程诊改大数据可视化分析研究与应用 “A Study and Application of Big Data Visualization Analysis for Course Diagnosis and Improvement based on Hadoop” 完整下载链接:基于Hadoop的课程诊改大数据可视化分析研究与应用 文章目录 基于Hadoop的课程诊改大…

jenkins连接ubuntu普通用户节点

1.创建credentials 2.创建node 3.在jenkins服务器还需要进行的操作&#xff08;jenkins服务器中&#xff09; mkdir /var/lib/jenkins/.ssh ssh-keyscan -H 192.168.110.204 >> /var/lib/jenkins/.ssh/known_hosts chown -R jenkins:jenkins /var/lib/jenkins/.ssh/ 4.…