仅将触摸事件转发到被触摸的视图
我有一个带有文本字段、按钮和表格的 UIWindow。 我希望能够跟踪屏幕上的所有触摸,然后将它们转发到被触摸的元素。
我已在 sendEvent 的信息="nofollow">Apple文档但我仍然不明白:
- 如何使用
hitTest
来检索被触摸的元素 - 如何转发触摸
这就是我所拥有的 迄今为止。
- (void) sendEvent:(UIEvent *)event
{
for (UITouch *touch in [event allTouches])
{
/* Get coordinates of touch */
CGPoint point = [touch locationInView:self];
/* Get subview being touched */
/* something like this???
UIView *receiver = [self hitTest:point withEvent:event];
*/
/* Forward touch event to right view */
/* how??? */
}
[super sendEvent:(UIEvent *)event];
}
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定这是最好的解决方案,但我正在关注此处发布的内容。
基本上我有一个覆盖整个空间的 UIView 子类。这样的类包含对所有可以触摸的元素的引用。 (我希望有一种方法可以避免这种情况)
这是标题中的代码
这是实现:
I am not sure this is the best solution but I am following what has been posted here.
Basically I have a subclass of UIView covering the entire space. Such class contains a reference to ALL the elements that can be touched. (I wish there was a way to avoid that)
This is the code in the header
And this is the implementation: