Javascript 调整UIWebview的大小';更改其字体大小时,请单击“s”帧

Javascript 调整UIWebview的大小';更改其字体大小时,请单击“s”帧,javascript,ios,uiwebview,resize,Javascript,Ios,Uiwebview,Resize,我有一个UIWebview,我想更改字体大小。 为此,我只需使用javascript: NSString *jsString = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust= '%d%%'",50]; [t_webview stringByEvaluatingJavaScriptFromString:jsString]; 问题是,当我将字体大小设置为50%时,uiwebview的内容下方有一

我有一个UIWebview,我想更改字体大小。 为此,我只需使用javascript:

NSString *jsString = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust= '%d%%'",50];
    [t_webview stringByEvaluatingJavaScriptFromString:jsString];
问题是,当我将字体大小设置为50%时,uiwebview的内容下方有一个很大的空白区域

我试图通过运行以下js将我的webview调整到适合实际内容大小的高度,但它总是返回100%文本的高度,而不是50%和实际文本的高度:

NSLog(@"font size: %i%%",theHeightIWant);
    NSString* t_height = [t_webview stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];
    NSLog(@"height before: %@",t_height);

    NSString *jsString = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust= '%d%%'",theHeightIWant];
    [t_webview stringByEvaluatingJavaScriptFromString:jsString];

    t_height = [t_webview stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];
    NSLog(@"height after: %@",t_height);
----日志------

我还尝试使用document.documentElement.scrollHeight而不是document.body.offsetHeight,但这也不起作用

有人能帮我吗?谢谢

编辑:以下是我将html加载到webview的方式:

NSString* t_html = [NSString stringWithFormat:@"<html><body>%@</body></html>",t_htmlPharmaco];
    [webview loadHTMLString:t_html baseURL:[[NSBundle mainBundle] bundleURL]];
NSString*t_html=[NSString stringWithFormat:@“%@”,t_htmlPharmaco];
[webview loadHTMLString:t_html baseURL:[[NSBundle mainBundle]bundleURL];

我不确定这是否适用于UIWebView。但在iOS中,所有控件(据我所知)在设置内容之前都会设置其height属性

也就是说,在设置webview中的内容之前,我会尝试调整字体大小,或者我会按照您的操作方式呈现webview,然后当webview正确创建时,再获取它的实例以调整高度


如果您想在更改内容大小的同时保持
UIWebView
的大小不变,还会出现另一个问题?(如果是,请使用@jcesar的答案)。但是,如果您希望更改
UIWebView的大小,则需要更改webview大小

我不确定这是否适用于UIWebView。但在iOS中,所有控件(据我所知)在设置内容之前都会设置其height属性

也就是说,在设置webview中的内容之前,我会尝试调整字体大小,或者我会按照您的操作方式呈现webview,然后当webview正确创建时,再获取它的实例以调整高度


如果您想在更改内容大小的同时保持
UIWebView
的大小不变,还会出现另一个问题?(如果是,请使用@jcesar的答案)。但是,如果您希望更改
UIWebView
的大小,则需要更改webview大小

,因为样式(因此字体大小)取决于加载到webview的内容,我不知道如何在加载内容之前更改样式。我知道如何更改webview的高度以适应内容高度,但我需要内容高度。。。这是我的问题。那么,您可能需要在
viewdiload
中加载内容,并使用
viewdilease
更改大小。这将是我开始尝试的方法。由于样式(因此字体大小)取决于加载到webview的内容,因此我不知道如何在加载内容之前更改样式。我知道如何更改webview的高度以适应内容高度,但我需要内容高度。。。这是我的问题。那么,您可能需要在
viewdiload
中加载内容,并使用
viewdilease
更改大小。这将是我开始尝试的方法。错误消失了,但我不知道为什么。。。。。要继续下去,你有什么解决办法吗??我也面临着同样的问题@imotep,我记得我没有,也别无选择,只能在内容下方留下一些空白。但现在已经三年多了,我可能错了,我无法再访问源代码来确认。错误消失了,但我不知道为什么。。。。。要继续下去,你有什么解决办法吗??我也面临着同样的问题@imotep,我记得我没有,也别无选择,只能在内容下方留下一些空白。但现在已经三年多了,我可能错了,我无法再访问源代码来确认。
NSString* t_html = [NSString stringWithFormat:@"<html><body>%@</body></html>",t_htmlPharmaco];
    [webview loadHTMLString:t_html baseURL:[[NSBundle mainBundle] bundleURL]];