Button action or similar in NSAttributedString

ios, iphone, nsattributedstring, nsmutableattributedstring

Solution

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.

Problem

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]; ```

Original source