3

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

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

Возможно, посмотрите на https://github.com/Cocoanetics/DTCoreText и его ссылку. – Wain

+0

Почему бы не использовать кнопку? – Mika

+2

Это ужасное решение, но вы все равно можете создать URL-адрес, который вызывает ваше приложение с параметрами (brrrrr, что за идея ...) – AncAinu

ответ

2

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

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

textView:shouldInteractWithURL:inRange: 

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

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

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

Смежные вопросы