有没有办法做类似于属性 NSLinkAttribute 的事情,但不是打开一个 URL 我想在 iOS 上触发一个动作?
[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
有没有办法做类似于属性 NSLinkAttribute 的事情,但不是打开一个 URL 我想在 iOS 上触发一个动作?
[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
我找到了解决方案。
在 UITextViewDelegate 中有一个方法:
textView:shouldInteractWithURL:inRange:
如果返回NO,则可以拦截链接的点击和长按。
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
[self MAKE_YOUR_ACTION];
return NO;
}
它仅适用于 iOS7。在旧版本中,我发现的唯一解决方案是@Anc Ainu 在问题评论中建议的解决方案。