2009-07-05 9 views
5

Presque partout dans l'iPhone, vous pouvez taper du texte et le système d'exploitation reconnaîtra la partie du texte comme étant des hyperliens (numéros de téléphone, adresses e-mail par exemple). Cependant, j'ai testé cela dans ma propre application avec un UILabel et cela ne fonctionne pas. Comment l'activer?Comment analyser et montrer les hyperliens (numéro de téléphone/adresses e-mail, etc.) dans UILabel?

Est-ce que l'iphone sdk fournit cette fonctionnalité prête à l'emploi ou dois-je faire la logique d'analyse moi-même (ce qui représente beaucoup de travail)?

+0

Je pense que le UILabel est une classe assez primitive - il affiche à peu près juste du texte avec certaines polices appliquées. Peut-être essayer un UITextField? –

+0

Non, juste testé, UITextField ne l'analyse pas non plus. – erotsppa

Répondre

16

Vous pouvez utiliser UITextView comme suit:

UITextView *myView = [[UITextView alloc] initWithFrame: frame]; 
myView.text = @"this is http://google.com link"; 
myView.editable = NO; 
myView.dataDetectorTypes = UIDataDetectorTypeLink; 
//cell is the TableView's cell  
[cell.contentView addSubview:myView]; 
[myView release]; 
-3

Faites-en l'expérience avec un UIWebView.

+1

Est-il correct d'avoir beaucoup d'UIWebView dans un seul écran? Ce contrôle sera dupliqué plusieurs fois dans une table. – erotsppa

0

Vous souhaitez peut-être consulter les étiquettes de style sous le projet Three20.

+0

D'après ce que je peux voir dans la source, cela présente du texte avec des styles différents mais ne fait rien sur la présentation de liens. –

+0

Si vous exécutez l'exemple de code TTCatalog, il y a une section sous "Styled Labels" qui montre les URLs automatiquement convertis en liens actifs. Le style peut être contrôlé via CSS. C'est beaucoup plus léger qu'un UIWebView. Sous Cellules de table, il existe également une cellule de lien externe qui appelle une URL externe. – Ramin

Questions connexes