4

有没有办法做类似于属性 NSLinkAttribute 的事情,但不是打开一个 URL 我想在 iOS 上触发一个动作?

[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
4

1 回答 1

4

我找到了解决方案。

在 UITextViewDelegate 中有一个方法:

textView:shouldInteractWithURL:inRange:

如果返回NO,则可以拦截链接的点击和长按。

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
    [self MAKE_YOUR_ACTION];
    return NO;
}

它仅适用于 iOS7。在旧版本中,我发现的唯一解决方案是@Anc Ainu 在问题评论中建议的解决方案。

于 2014-02-13T13:08:59.393 回答