Ответ 1
Теперь я могу ответить на свой вопрос:
Теперь я использую UITextView
вместо UILabel
. Я отформатировал UITextView
, чтобы посмотреть и вести себя как мои метки и добавил:
UITextView *textView = [[UITextView alloc] init];
textView.scrollEnabled = NO;
textView.editable = NO;
textView.textContainer.lineFragmentPadding = 0;
textView.textContainerInset = UIEdgeInsetsMake(0, 0, 0, 0);
textView.delegate = self;
Не забудьте установить делегат, вы должны реализовать UITextViewDelegate
! Теперь мы реализуем метод делегата:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:(NSRange)characterRange
{
return YES;
}
Это автоматически открывает предоставленный NSURL
-instance из атрибутной строки в моем вопросе при щелчке/нажатии.
Помните: это работает только для iOS 7, для поддержки устаревших вам нужны внешние библиотеки
UPDATE:
Создание UITextView
ведет себя точно так же, как ярлыки, в конечном итоге было беспорядком, и я наткнулся на какое-то отвратительное поведение iOS. Я закончил использование библиотеки TTTAttributedLabel, которая просто великолепна и позволила мне использовать метки вместо UITextView
s.