J'ai un message texte comme "Ceci est très agréable # quoi", je veux que le texte contenant "#" soit sur une couleur différente et en cliquant dessus il devrait ouvrir une nouvelle vue.Comment rendre (#text) cliquable dans webview ou textview?
Répondre
Si vous utilisez un UIWebView, vous avez le balisage html à votre disposition. Ainsi, vous pouvez faire quelque chose comme ceci:
NSString *html = @"This is a very nice <font color=\"green\">#thing</font>";
[myWebView loadHTMLString:html baseURL:[NSURL URLWithString: @"http://localhost"]];
Vous devez utiliser UIWebView et faire les cliquables articles ancres HTML standard, puis surveiller le chargement de lien dans la méthode UIWebViewDelegate shouldStartLoadWithRequest
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL* u = [request URL];
if([[u scheme] isEqualToString:@"showlicenses"]) {
NSString *path = [[NSBundle mainBundle]
pathForResource:@"credits" ofType:@"html" inDirectory:@"help"];
LicensesWebviewController *vc = [[LicensesWebviewController alloc] initWithURL:[NSURL fileURLWithPath:path]];
vc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:vc animated:YES];
[vc release];
return NO; // DO NOT attempt to load URL
}
return YES; // if you want to allow the URL to load
}
Vous » Vous devez définir le délégué sur votre UIWebView.
myWebView.delegate = self;
Donc quand un lien dans ma page HTML avec le format: "showLicenses: // blahblah" est tapé, je pousse un nouveau contrôleur de vue.
Vous pouvez utiliser n'importe quel type de liens que vous voulez, il vous suffit d'examiner et de piéger ceux que vous voulez gérer en interne. par exemple, "myscheme: /// faire/quelque chose/avec/ce/lien"
La méthode initwithURL ne trouve pas ... – crystal
Eh bien ... ce code fournit un exemple, mais [[LicensesWebviewController alloc] initWithURL: [ NSURL fileURLWithPath: path]] est un ViewController dans l'une de mes applications. vous devez écrire votre propre, ou faire ce que vous voulez avec le lien. – wkw
- 1. Webview modifiable/TextView? Ou tout autre contrôleur?
- 2. Mettez en surbrillance le texte dans TextView ou WebView
- 3. Rendre une image cliquable
- 4. Comment rendre un TextView gras?
- 5. android: html en textview avec lien cliquable
- 6. Android: TextView cliquable avec des liens Linkified
- 7. Comment rendre un arrière-plan cliquable?
- 8. Comment rendre une section DIV cliquable?
- 9. comment rendre le div entier cliquable?
- 10. Comment rendre un span entièrement cliquable?
- 11. Rendre JFrame/JPanel non cliquable
- 12. KML + Google Earth: Rendre un Polygon ou GroundOverlay cliquable?
- 13. Android, Custom ListAdapter obtenir TextView-Text
- 14. Comment rendre un contrôle entier cliquable dans Android?
- 15. Rendre un ViewGroup cliquable sur Android
- 16. Comment rendre certains mots cliquables dans un TextView?
- 17. Avec MovableType, comment rendre l'image de ma bannière cliquable?
- 18. Script Jquery pour rendre l'arrière-plan cliquable
- 19. Comment rendre la zone d'un div cliquable? Pas tout div!
- 20. Comment rendre le texte dans TextView qui a l'apparence de l'URL
- 21. Rendre une ligne entière cliquable dans une vue en grille
- 22. Ajouter une nouvelle image dans jquery et la rendre cliquable
- 23. MySQL TEXT ou VARCHAR
- 24. Comment rendre webview avec des coins arrondis Rectangle?
- 25. chevauchement div couvre l'image et le rendre non-cliquable
- 26. inputType rend l'élément non-cliquable
- 27. Images dans TextView
- 28. WPF: Rendre le "bloc" entier d'un chemin cliquable
- 29. pas cliquable dans jQTouch
- 30. GridView n'est pas cliquable
Mais comme le texte arrive est aléatoire, que comment le détecter à l'exécution ?? – crystal
Je suppose que vous feriez une recherche et remplacer sur le texte pour "détecter à l'exécution" – wkw