UILabel et NSLinkAttributeName: le Lien n'est pas cliquable
Je veux utiliser attribué des chaînes de caractères avec NSLinkAttributeName
de créer des liens cliquables à l'intérieur d'un UILabel
instance au sein de mon iOS 7 projet, qui est enfin possible sans l'aide de bibliothèques externes.
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSDictionary *attr = [NSDictionary dictionaryWithObjectsAndKeys:
url, NSLinkAttributeName, nil];
L'application de l'attribut sur une chaîne affiche le texte en bleu & souligné, mais rien ne se passe sur cliquez/tapez sur. Interaction de l'utilisateur est activée pour l'étiquette.
Quelqu'un sait comment faire cela? Merci!
Vous devez vous connecter pour publier un commentaire.
Je peux répondre à ma propre question maintenant:
Je suis à l'aide de
UITextView
au lieu deUILabel
maintenant. J'ai formaté leUITextView
ressemblent et se comportent comme mes étiquettes et a ajouté:N'oubliez pas de mettre le délégué, vous avez à mettre en œuvre
UITextViewDelegate
! Maintenant, nous mettons en œuvre la méthode du délégué:Cette s'ouvre automatiquement à la condition que le
NSURL
-exemple de l'attribuée chaîne dans ma question sur cliquez/tapez sur.Rappelez-vous: il fonctionne sur iOS 7 uniquement, pour la prise en charge héritée vous avez besoin de bibliothèques externes
Mise à JOUR:
Faire la
UITextView
s se comportent comme des étiquettes est un désordre total, à la fin et je suis tombé sur quelques hideux iOS comportements. J'ai fini par utiliser la TTTAttributedLabel de la bibliothèque qui est tout simplement génial et m'a permis d'utiliser des étiquettes au lieu deUITextView
s.textView.textContainer.---
valeurs sont la clé pour obtenir UITextViews de mise en page comme UILabels. C'est-à-dire, de ces valeurs, ajuster le rembourrage du texte dans le TextView; la mise à zéro de vous donner le look d'un UILabel avec la fonctionnalité d'un UITextView.