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