Ich möchte in meiner App ein anklickbares Etikett erstellen, das mich zu einer Safari-Webseite führt. Ich möchte auch, dass der Benutzer die Nummern nur durch Klicken anrufen kann.
Vielen Dank für Ihre Ratschläge
iphone
objective-c
url
uilabel
rauben
quelle
quelle
Antworten:
Sie können
UITextView
im Inspektor a verwenden und Erkennung für Links, Telefonnummern und andere Dinge auswählen.quelle
Verwenden Sie
UITextView
anstelle vonUILabel
und es hat eine Eigenschaft, um Ihren Text in einen Hyperlink zu konvertieren.Ziel c:
Schnell:
Dadurch werden Links automatisch erkannt.
Einzelheiten finden Sie in der Dokumentation .
quelle
https://github.com/mattt/TTTAttributedLabel
Das ist definitiv was du brauchst. Sie können auch Attribute für Ihr Etikett anwenden, z. B. Unterstreichung, und verschiedene Farben darauf anwenden. Überprüfen Sie einfach die Anweisungen für anklickbare URLs.
Hauptsächlich machen Sie so etwas wie das Folgende:
quelle
Sie können einen benutzerdefinierten UIButton und setText erstellen, was immer Sie möchten, und damit eine Methode hinzufügen.
quelle
Wenn Sie möchten, dass dies von UILabel und nicht von UITextView behandelt wird, können Sie eine UILabel-Unterklasse wie die folgende erstellen:
Diese Klasse wurde erstellt, indem Code aus dieser Antwort wiederverwendet wurde . Überprüfen Sie diese Antwort , um zugeordnete Zeichenfolgen zu erstellen . Und hier finden Sie, wie Sie Telefon-URLs erstellen.
quelle
Verwenden Sie dies, es hat mir so gut gefallen, da eine Verknüpfung mit blauer Farbe zu einem bestimmten Text nur nicht auf dem gesamten Etikettentext erstellt wird: FRHyperLabel
Machen:
Download Link oben und Kopie
FRHyperLabel.h
,FRHyperLabel.m
zu Ihrem Projekt.Ziehen Sie die Dropdown-Liste
UILabel
in IhrenStoryboard
und definieren Sie den benutzerdefinierten Klassennamen,FRHyperLabel
um den Inspektor wie in der Abbildung gezeigt zu identifizieren.@property (weak, nonatomic) IBOutlet FRHyperLabel *label;
`NSString * string = @" Durch das Hochladen stimme ich den Nutzungsbedingungen zu "; NSDictionary * Attribute = @ {NSFontAttributeName: [UIFont PreferredFontForTextStyle: UIFontTextStyleHeadline]};
quelle
Verwenden Sie UITextView anstelle von UILabel und es verfügt über eine Eigenschaft, mit der Sie Ihren Text in einen Hyperlink konvertieren können
SWIFT-Code:
quelle
quelle
Warum nicht einfach NSMutableAttributedString verwenden ?
Weitere Details finden Sie hier
quelle
Swift 4.2, Xcode 9.3 Version
quelle
Swift 4.0 mögliche Lösung mit UIButton
quelle