gpt4 book ai didi

ios - UITapGestureRecognizer 仅检测在控件的上半部分被点击的控件

转载 作者:行者123 更新时间:2023-11-29 11:14:22 28 4
gpt4 key购买 nike

我正在尝试在我的 iOS 应用程序上实现一种“帮助模式”。当用户点击帮助按钮时,UITapGestureRecognizer 会拦截对屏幕的触摸,如果它在控件上,则会出现一个带有帮助信息的小弹出窗口。

但是,我的问题是,如果我点击控件的上半部分,应用程序只会检测到我点击了控件。我使用 hitTest:withEvent: 来确定触摸了哪个 View :

CGPoint touchPoint = [(UITapGestureRecognizer*)sender locationInView:nil];
UIView* touchedView = [self.view hitTest:touchPoint withEvent:nil];

UILabel 尤其难以成功命中。

该 View 在顶部包含一个导航栏,但相当标准。有没有人遇到过类似的问题?有谁知道解决方案吗?

最佳答案

您需要在您的 View 中获取触摸的位置,而不是在窗口中(这是当您将 nil 指定为 View 时所获得的)。

CGPoint touchPoint = [(UITapGestureRecognizer*)sender locationInView:self.view];
UIView* touchedView = [self.view hitTest:touchPoint withEvent:nil];

关于ios - UITapGestureRecognizer 仅检测在控件的上半部分被点击的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135831/

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