comment augmenter ou diminuer la taille de la police UIWebview, sans utiliser scalePageToFit: NO;
Réponses
Trop de publicités?J'ai 2 boutons - A- et A +
@interface
NSUInteger textFontSize;
- (IBAction)changeTextFontSize:(id)sender
{
switch ([sender tag]) {
case 1: // A-
textFontSize = (textFontSize > 50) ? textFontSize -5 : textFontSize;
break;
case 2: // A+
textFontSize = (textFontSize < 160) ? textFontSize +5 : textFontSize;
break;
}
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",
textFontSize];
[web stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
}
Il n'existe pas actuellement exposés façon de manipuler directement les DOM dans une UIWebView, ni aucune des méthodes pratiques pour la manipulation des choses comme les tailles de police. Je suggère de dépôt des Radars.
Après avoir dit cela. vous pouvez modifier la taille de la police en modifiant le CSS, comme toute autre page web. Si cela n'est pas possible (on ne contrôle pas le contenu), vous pouvez écrire une petite fonction javascript pour modifier les propriétés CSS dans les pages DOM, et de l'exécuter en appelant:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
Voici la mienne pour changer la taille et la couleur de la police dans UIWebView:
NSString *myString=@"Hello World!";
int textFontSize=2;
NSString *myHTML=[NSString stringWithFormat: @"<html><body><script>var str = '%@'; document.write(str.fontsize(%d).fontcolor('green'));</script></body></html>",myString,textFontSize];
[myWebView loadHTMLString:myHTML baseURL:nil];