web-dev-qa-db-fra.com

Impossible de rendre l'URL cliquable dans UITextView

J'utilise Interface Builder pour mettre en page mon application. J'ai une UITextView qui contient du texte, dont une partie est une URL que je voudrais rendre cliquable (par exemple, lance un navigateur). J'ai lu comment faire cela et je crois que je le fais correctement, cependant, bien que l'URL apparaisse bleue/cliquable, cliquer dessus dans l'émulateur iPhone ne fonctionne pas. Rien ne se passe.

Mon contrôleur:

@interface FirstViewController : UIViewController <UISearchBarDelegate>
@property (nonatomic, retain) IBOutlet UITextView *review;
@end

Dans ma mise en œuvre, je @synthesize review; (et je suis capable de manipuler le texte de la vue, alors ne pensez pas que c'est le problème).

À l'IB, j'ai:

IB Settings

..puis plus tard, lorsque je vais définir le texte (et essayer de rendre les URL dans la vue cliquables), je fais:

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

... qui affiche quelque chose comme:

Simulator Output

... qui semble vraiment vouloir fonctionner, cependant, lorsque vous cliquez sur l'URL, rien ne se passe. Qu'est-ce que je rate?

- MISE À JOUR -

J'ai essayé d'ajouter self.review.editable = NO; en réponse à la réponse de Dixit Patel, mais cela n'a pas résolu le problème:

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
37
Madbreaks

Le problème était que User Interaction Enabled n'a pas été vérifié en bas de la section Vue de l'inspecteur d'attributs d'IB.

15
Madbreaks

Cochez les cases "Sélectionnables" et "Liens" dans la vue textuelle Inspecteur d'attributs:

enter image description here

55
IgniteCoders

Essayez d'utiliser cet espoir de cette aide pour vous

Les liens ne sont pas cliquables par défaut dans un UITextView. Mais heureusement, ils peuvent être activés avec quelques lignes de code simples:

self.review.editable = NO;
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

Malheureusement, vous ne pouvez pas avoir un UITextView modifiable avec des liens cliquables. Si vous définissez modifiable sur OUI, tous les liens seront traités comme du texte normal.

MODIFIER

Demandez à u de vérifier correctement qu'il peut être UITextview désactivé dans votre fichier .xib.

27
Dixit Patel