【发布时间】:2013-12-19 08:04:01
【问题描述】:
我有一个情况:
-------------
| |
-------------------------
| UILabel |
-------------------------
| UIView |
| |
-------------
我需要检查用户是否点击了 UILabel。 UILabel 是 UIView 的子视图。
result.userInteractionEnabled = YES;
textLabel.userInteractionEnabled = YES;
[result addSubview: textLabel];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: self action: @selector(reportTap:)];
tapRecognizer.delaysTouchesBegan = YES;
[textLabel addGestureRecognizer: tapRecognizer];
所以点击只能在 UIView 上被识别,我试图覆盖 - (UIView *) hitTest: (CGPoint)point withEvent: (UIEvent *)event 但它从未被调用,试图将 tapRecognizer 添加到 UILabel ==> 这也不能解决问题。有什么帮助吗?
【问题讨论】:
-
你覆盖了哪个 hitTest?标签还是当前视图?即使您将 tapRecognizer 添加到 uilabel 它仍然超出范围,因此它不会注册
标签: ios objective-c uiview uigesturerecognizer