我正在尝试在我的 iOS 应用程序上实现一种“帮助模式”。当用户点击帮助按钮时,UITapGestureRecognizer 会拦截对屏幕的触摸,如果它在控件上,则会出现一个带有帮助信息的小弹出窗口。
然而我的问题是,如果我点击控件的上半部分,应用程序只会检测到我已经点击了一个控件。我使用 hitTest:withEvent: 来确定触摸了哪个视图:
CGPoint touchPoint = [(UITapGestureRecognizer*)sender locationInView:nil];
UIView* touchedView = [self.view hitTest:touchPoint withEvent:nil];
UILabel 尤其难以成功命中。
视图在顶部包含一个导航栏,但相当标准。有没有人有类似的问题?有谁知道解决方案?