将点击事件传递给子视图 iOS

Pass tap event to the subview iOS

我有一个 TTTAttributed 标签,它可以自行检测 link 并且我有一个点击手势可以执行一些操作。

问题是当我有一个点击手势时它无法打开 link 它只能通过点击手势执行操作但是我希望如果文本是 link 输入,然后我的点击手势将点击转发到 TTTAttributed 标签的 link 检测。

非常感谢您的努力。提前致谢。

label.enabledTextCheckingTypes = NSTextCheckingTypeLink; // Automatically detect links when the label text is subsequently changed
label.delegate = self; // Delegate methods are called when the user taps on a link (see `TTTAttributedLabelDelegate` protocol)
label.text = @"Google it! (https://www.google.co.in/)"; // Repository URL will be automatically detected and linked
NSRange range = [label.text rangeOfString:@"Google"];
[label addLinkToURL:[NSURL URLWithString:@"http://google.com/"] withRange:range]; // Embedding a custom link in a substring

设置 TTTAttributed 标签的委托,当用户点击标签时,将调用其委托方法。

(void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url

在此委托方法中处理您的事件。

检查您的点击手势识别器委托方法中的 [UITapGestureRecognizer state] 属性。根据 state 值,在完成自定义点击手势处理后,将事件传递给 TTTAttributedLabel 对象的以下触摸委托方法:

- touchesBegan:withEvent: - touchesMoved:withEvent: - touchesEnded:withEvent: - touchesCancelled:withEvent:

这应该负责执行 TTTAttributedLabel class 的默认行为。