38 votes

comment augmenter la taille de la police dans UIWebView

comment augmenter ou diminuer la taille de la police UIWebview, sans utiliser scalePageToFit: NO;

73voto

Taras Kalapun Points 1452

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];
}
 

11voto

Girish Chauhan Points 6
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *fontSize=@"143";
    NSString *jsString = [[NSString alloc]      initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",[fontSize intValue]];
    [myWebview stringByEvaluatingJavaScriptFromString:jsString];

}

9voto

Louis Gerbarg Points 33025

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;

1voto

Hiren Points 5781

Essayez le code ci-dessous:

 NSString *setTextSizeRule = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')",currentTextSize];
[_webview stringByEvaluatingJavaScriptFromString:setTextSizeRule];
 

1voto

DavidNg Points 646

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];
 

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