UILabel und NSLinkAttributeName: Link ist nicht anklickbar
Möchte ich nutzen zugeschrieben strings mit NSLinkAttributeName
zu erstellen, die anklickbare links innerhalb einer UILabel
Instanz in meinem iOS-7-Projekt, das ist jetzt endlich möglich, ohne Verwendung von externen Bibliotheken.
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSDictionary *attr = [NSDictionary dictionaryWithObjectsAndKeys:
url, NSLinkAttributeName, nil];
Anwenden des Attributs auf eine Zeichenfolge, zeigt den text, der als blue & Unterstrichen, aber nichts passiert beim klicken/Tippen Sie auf. Benutzer-Interaktion aktiviert ist für das label.
Weiß jemand, wie dies zu tun? Danke!
InformationsquelleAutor der Frage max.mustermann | 2013-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ich Antwort auf meine eigene Frage jetzt:
Ich bin mit
UITextView
stattUILabel
jetzt. Ich habe formatiert dieUITextView
zu schauen und Verhalten sich wie meine labels und fügte hinzu:Nicht vergessen, die delegieren, müssen Sie implementieren
UITextViewDelegate
! Jetzt implementieren wir die delegate-Methode:Diese automatisch öffnet, sofern die
NSURL
-Instanz aus der attributierten string in meiner Frage auf klicken Sie auf/Tippen Sie auf.Denken Sie daran: Dies funktioniert auf iOS 7 nur für legacy-Unterstützung, die Sie brauchen externe Bibliotheken
UPDATE:
Machen die
UITextView
s Verhalten sich genauso wie die labels war ein totales Chaos am Ende und ich stolperte über einige abscheuliche iOS-Verhaltensweisen. Ich landete mit der TTTAttributedLabel - library, die ist einfach toll und erlaubte mir, verwenden Sie Beschriftungen anstelle vonUITextView
s.InformationsquelleAutor der Antwort max.mustermann