如何使WebView内容更大

时间:2012-02-03 13:29:47

标签: iphone objective-c ios ipad

我正在制作一个小应用程序,那里有一个小的UIWebView。问题是我需要让它上面的内容看起来更小或更大。例如,文本(如此)应该更大或更小。在提出这个问题之前,我试过这个:

[web setScalesPageToFit:YES];
[web setFrame:size];

它没有我想要的行为。有任何想法吗? 谢谢你回答!

2 个答案:

答案 0 :(得分:0)

Web视图用于显示HTML,因此如果您控制HTML,或至少知道其基本结构,则可以使用CSS来修改样式

答案 1 :(得分:0)

可以这样做:

-(void)setWebViewScale:(NSUInteger)pageScale {
     _textFontSize = pageScale;
    NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",pageScale];
    [_webView stringByEvaluatingJavaScriptFromString:jsString];
    [jsString release];
}

+/-比例将通过以下方式完成:

- (IBAction)changeTextFontSize:(id)sender
{
    switch ([sender tag]) {
        case 1: // A-
            _textFontSize = (_textFontSize > MIN_PAGE_SCALE) ? _textFontSize - STEP_PAGE_SCALE : _textFontSize;
            break;
        case 2: // A+
            _textFontSize = (_textFontSize < MAX_PAGE_SCALE) ? _textFontSize + STEP_PAGE_SCALE : _textFontSize;
            break;
    }

    [self setWebViewScale:_textFontSize];
}

定义MAX_PAGE_SCALE和MIN_PAGE_SCALE限制内容过大和过小,STEP_PAGE_SCALE确定规模变化的步骤。