0

UIWebView捏缩放时如何增加字体大小?

如果我设置scalesPageToFit = YES,捏缩放将缩放网页,但宽度会大于设备宽度。我希望宽度仍然是设备宽度,但字体应该更大。

4

1 回答 1

2

没有纯粹的客观 C 方式可以让您实现这一目标。但是,您可以使用一些 JS 技巧来增加字体大小。尝试使用:

//determine current "fontSize" with the help of some pinch gesture recognizer
NSString* contentHeight = [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"scaleFont(%d)",fontSize]];
webView.scrollView.contentSize = CGSizeMake(webView.scrollView.contentSize.width, [contentHeight floatValue]);

在你的html页面中,创建一个类似下面的JS函数:

function scaleFont(fontSize) {
    document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust=fontSize;
    return document.documentElement.offsetHeight;
}

您仍然需要通过一些捏手势识别器或类似的东西来确定您的 Objective-C 代码中的预期字体大小。还请确保使用 scalesPageToFit = NO 禁用 UIWebView 的默认缩放功能;并删除/禁用 html 文档中的任何“视口”元标记。

希望能帮助到你。

于 2013-11-05T21:02:40.347 回答