Действие кнопки или подобное в NSAttributedString
Есть ли способ сделать что-то похожее на атрибут NSLinkAttribute, но вместо того, чтобы открыть URL-адрес, я хочу запустить действие на iOS?
[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
- iOS - копировать все атрибуты NSMutableAttributedString в другую NSMutableAttributedString
- Добавьте NSUnderlineStyle.PatternDash в NSAttributedString в Swift?
- Можно ли получить список атрибутов и диапазонов для NSMutableAttributedString?
- iOS: Изменение высоты шрифта NSMutableAttributedString без изменения ширины шрифта?
- Цвет всех вхождений строки в swift
- Установка цвета шрифта NSLinkAttributeName
- создать атрибутную строку из простого (Android-форматированного) текста в swift для iOS
- Закругленные углы с NSMutableAttributedString
- Установка NSForegroundColorAttributeName в атрибутной строке сдвигает текст вниз на iOS 6
- Выделите только текст в UILabel
- iOS - Как использовать `NSMutableString` в быстрой
- Применение расширенного текстового формата для выбранного текста UITextView в iOS
- Attributed Text boundingRectWithSize возвращает неправильный размер
Я нашел решение.
В UITextViewDelegate существует метод:
textView:shouldInteractWithURL:inRange:
Если вы вернете НЕТ, вы можете перехватить клик и длинный клик ссылки.
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange { [self MAKE_YOUR_ACTION]; return NO; }
Он работает только в iOS7. В более старых версиях единственным решением, которое я нашел, было то, что было предложено @Anc Ainu в комментариях к вопросу.