45 votes

Développement iPhone - Définition de la police UIWebView

Je dois montrer du texte riche que je tire du serveur, donc j'utilise UIWebView. Maintenant, le problème est que je n’ai aucun contrôle sur la police utilisée dans UIWebView. Comment puis-je changer la police pour utiliser la police système (en la rendant cohérente avec le reste de l'application)?

Je fais quelque chose comme ça en ce moment:

 myRichTextView = [[UIWebView alloc] initWithFrame:CGRectMake(x, y, width, height)];
myRichTextView.backgroundColor = [UIColor clearColor];
[myRichTextView setScalesPageToFit:NO];
[myRichTextView loadHTMLString:myString baseURL:[NSURL URLWithString:myBaseURL]];
 

Encore une fois, il faut contrôler la police d’affichage. Si je ne peux pas contrôler la police, faites-le moi savoir d'autres alternatives à UIWebView.

Merci

103voto

Mustafa Points 8387

Cela a fonctionné quand j'ai modifié la chaîne comme ceci. Ton vrai chris, ça ne devrait faire aucune différence.

 NSString *myDescriptionHTML = [NSString stringWithFormat:@"<html> \n"
                                "<head> \n"
                                "<style type=\"text/css\"> \n"
                                "body {font-family: \"%@\"; font-size: %@;}\n"
                                "</style> \n"
                                "</head> \n"
                                "<body>%@</body> \n"
                                "</html>", @"helvetica", [NSNumber numberWithInt:kFieldFontSize], content];
 

15voto

PyjamaSam Points 7802

J'utilise le code CSS suivant dans un affichage Web pour faire exactement ce que vous dites.

 body
{
    font-family:helvetica;
}
 

Mais le vôtre ressemble à cela devrait fonctionner aussi bien. Étrange. La seule différence que je peux voir est la police de caractères police-famille de polices, mais cela ne devrait pas faire de différence.

chris.

10voto

Robert Points 10822

J'ai créé une méthode qui enveloppe du texte dans un corps HTML avec le style correct pour un UIColor et un UIFont donnés. Il est basé sur la réponse de Mustafa .

Il est utilisé comme ceci:

 NSString * htmlString = [MyClass htmlFromBodyString:@"an <b>example</b>"
                                           textFont:[UIFont systemFontOfSize:10]
                                          textColor:[UIColor grayColor]];
[webView loadHTMLString:htmlString baseURL:nil];
 

4voto

Rob Points 328

il suffit de changer

font:helvetica

à

font-family:helvetica

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X