gpt4 book ai didi

iphone - 底层 View 如何知道其矩形是否被触摸,无论是直接还是间接?

转载 作者:行者123 更新时间:2023-12-03 21:13:36 25 4
gpt4 key购买 nike

我有一个透明的 UIView,几乎覆盖了整个屏幕。我在顶部留下了 50 像素。它是 View Controller View 的 subview 。

在UIView下面有一个继承自UIView的MyView,它与屏幕尺寸相匹配。在这个 MyView 类中,我要求对其进行非常简单的触摸:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];

if ([touch view] == self) {
NSLog(@"MyView touched");
}
}

现在有趣的是,当然,如果用户触摸覆盖该 MyView 的透明 UIView,我不会在控制台中得到“MyView 触摸”。但是,当用户触摸屏幕顶部 MyView 的小未覆盖区域时,触摸就会到达那里。

这对我来说是合乎逻辑的,因为我要求[touch view] == self。但是,如果我想知道 MyView 的矩形区域被触摸(无论是间接还是直接)怎么办?

有没有办法捕获屏幕/窗口上出现的任何触摸,然后检查它是否与 View 的矩形区域匹配?

最佳答案

您应该学习 iPhone 应用程序编程指南的 Touch Events 部分。为您寻找的背景。您想要掌握的概念是响应程序链,因此还要查看 UIResponder 上的引用以了解它在做什么。您绝对可以做您正在谈论的所有事情,完整的讨论位于上面的链接中。

关于iphone - 底层 View 如何知道其矩形是否被触摸,无论是直接还是间接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com