UIWebView stringByEvaluatingJavaScriptFromString在iOS 5中不起作用

时间:2012-03-12 22:03:30

标签: iphone objective-c uiview uiwebview

我是UIWebView的新手,特别是stringByEvaluatingJavaScriptFromString方法。 在我的layoutSubviews中,我调用我的webview来获取帧大小。

 [self.body setFrame:CGRectMake(10.0f,10.0f,320.0f,[[_body stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue])];

它试图找到高度,但在视图中留下了大量空间,这意味着它没有使用文本字符串给出正确的高度。 现在上面的代码在iOS 4上完美运行,并且在iOS 5上无效。

有没有其他方法可以更改以下内容以使其在iOS 5上运行?

1 个答案:

答案 0 :(得分:0)

首先,自行评估您的javascript:

NSString* result = [_body stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"];
NSLog(@"My JS is returning %@",result);

确保提供正确的值。我相信JS引擎已经从4.0修改为5.0,所以可能会以不同的方式处理它。