0

У меня есть многострочный UILabel, который содержит текст от NSMutableAttributedString. Я хочу сделать часть текста интерактивной.Сделать часть NSMutableAttributedString clickable

Если бы я мог определить CGRect вокруг части текста, я мог бы использовать местоположение отвода, чтобы определить, попало ли оно внутрь этого CGRect, но я тоже не нашел способа сделать это.

Любые предложения?

+1

Пожалуйста, расскажите о том, что вы пробовали, и почему это неприемлемо. – jpaugh

+0

Единственное, что я получил, это создать UIGestureRecognizer для всего ярлыка пользовательского интерфейса. Я попытался сделать CGRect вокруг текста, который можно щелкнуть, но я не нашел способа сделать это. – Spencer

+0

Самый простой способ - использовать UITextView с поддержкой ссылок. Это подходит для вас? – Azat

ответ

0

Пытался у следующего пример:

NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:@"Click me"]; 
[str addAttribute: NSLinkAttributeName value: @"http://www.yahoo.com" range: NSMakeRange(0, str.length)]; 
yourTextView.attributedText = str; 
+0

Мне нужно выполнить действие при щелчке текста ... есть ли способ использовать функцию обратного вызова вместо URL-адреса? – Spencer

+0

Вы можете сделать это, установив делегата текстовой ссылки на uitextview - не думайте, что это возможно на ярлыке, но вы должны иметь возможность сделать текстовое представление похожим на ваш ярлык – bdalziel

+0

@bdalziel Спасибо за идею, я буду попробуйте завтра, но я так расстроен, пытаясь понять это, я собираюсь сосредоточиться на других компонентах на всю ночь хаха – Spencer

0

в случае, если вы не нашли что-то еще, вы можете также попробовать ActiveLabel.swift который является UILabel замена поддержки Hashtags (#), Упоминания (@) и URL-адреса (http: //), написанные в Swift.

Вот простой пример:

import ActiveLabel 

let label = ActiveLabel() 

label.text = "This is a post with a link http://github.com." 
label.handleURLTap { (url: NSURL) in 
    // do something with the url 
} 

Отказ от ответственности: Я автор библиотеки.

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