Ich kann jetzt meine eigene Frage beantworten: Ich benutze UITextView
Anstatt von UILabel
jetzt. Ich habe das formatiert UITextView
Aussehen und sich wie meine Etiketten verhalten und hinzugefügt:
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;
Vergessen Sie nicht, den Delegierten festzulegen, Sie müssen implementieren UITextViewDelegate
! Jetzt implementieren wir die Delegate -Methode:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:(NSRange)characterRange
{
return YES;
}
Dies öffnet automatisch das bereitgestelltes NSURL
-Instanz aus der zugeschriebenen Zeichenfolge in meiner Frage auf klick/tippen.
Denken Sie daran: Dies funktioniert nur auf iOS 7. Für die Legacy -Unterstützung benötigen Sie externe Bibliotheken
AKTUALISIEREN:
Das machen UITextView
S verhalten sich am Ende ein totales Chaos und ich stieß auf einige abscheuliche iOS-Behaviours. Ich benutzte die am Ende TttattributedLabel Bibliothek, die einfach großartig ist und es mir ermöglicht, Etiketten anstelle von zu verwenden UITextView
s.