Действие кнопки или подобное в NSAttributedString

Есть ли способ сделать что-то похожее на атрибут NSLinkAttribute, но вместо того, чтобы открыть URL-адрес, я хочу запустить действие на iOS?

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

Я нашел решение.

В UITextViewDelegate существует метод:

 textView:shouldInteractWithURL:inRange: 

Если вы вернете НЕТ, вы можете перехватить клик и длинный клик ссылки.

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

Он работает только в iOS7. В более старых версиях единственным решением, которое я нашел, было то, что было предложено @Anc Ainu в комментариях к вопросу.

  • Обоснованный текст с UITextView и NSMutableAttributedString
  • Подчеркивать часть строки с использованием NSMutableAttributedString в iOS8 не работает
  • NSAttributedString на многострочном UILabel, отсекающем первую строку
  • End of NSAttributedString с emojis оставил неформатированным
  • Attributed string в tableviewcell не отображает жирный текст, пока ячейка не будет отменена и перезагружена
  • Сбой в iOS 7.0.3 для NSMutableAttributedString
  • Как удалить и заменить NSTextAttachment в NSAttributedString
  • UITextView атрибут текста не работает при использовании пользовательского шрифта
  • Заменить символ в NSMutableAttributedString
  • Извлеките последние 50 строк из NSAttributedString
  • Добавление атрибутов к атрибутированному тексту в Swift
  • Давайте будем гением компьютера.