Is there a way to do something similar to the attribute NSLinkAttribute but instead of open an url I want trigger an action on iOS?

[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
有帮助吗?

解决方案

I found a solution.

In UITextViewDelegate, there is a method:

textView:shouldInteractWithURL:inRange:

If you return NO, you can intercept the click and the longclick of the link.

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

It works only in iOS7. In older versions the only solution I found was the one suggested by @Anc Ainu in the comments of the question.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top