O.k J'ai trouvé une solution qui fonctionne très bien pour moi. J'utilise UIWebView comme vue du texte, puis j'ajoute le texte au format HTML. De cette façon, je peux utiliser CSS pour mieux formater le texte et même marquer une partie du texte comme un lien, dans l'exemple je veux que le mot consonne apparaisse comme un lien. (un autre grand avantage est que je peux ajouter le support de langages RTL).
UIWebView *webView =[[UIWebView alloc] initWithFrame:imgViewRect];
webView.backgroundColor = [UIColor clearColor];
webView.opaque=NO;
webView.delegate=self;
NSString *localizedPath = [NSString stringWithFormat:@"rt%@",pcard.card_number];
NSString *localizedString = NSLocalizedString(localizedPath,@"");
NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"style" ofType:@"css"];
//do base url for css
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString *html =[NSString stringWithFormat:@"<a href=\"consonant\"><dfn>consonant</dfn></a>",
currentLanguage,dir,cssPath,langClass,localizedString];
NSLog(@"%@",html);
[webView loadHTMLString:html baseURL:baseURL];
[self addSubview:webView];
puis-je utiliser cette fonction pour reconnaître ce que les clics de mot et le déjeuner un UIView avec le texte dictionnaire:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request
navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *URL = [request URL];
NSLog(@"%@",[URL lastPathComponent]); //thats gives me the name of the clicked word.
//here you can set any function that you like.
//using the data from the url path.
}
return YES;
}
espère que cela aidera quelqu'un. shani
salut, merci pour votre réponse. n'est pas là pour effectuer le texte lui-même? en tout cas j'aimerais voir votre classe cela pourrait me sauver du temps de travail. merci encore – shannoga
sûr ... vous auriez besoin d'utiliser des chaînes attribuées (que vous devrez descendre au niveau du texte de base pour atteindre). Je vais trouver le lien vers ma classe ... ce n'est pas moi personnellement, je l'utilise juste. :) –
http://furbo.org/2008/10/07/fancy-uilabels/ –