我绝对不能调整我UIWebView
。
我UIWebView
在.H和宣布,以连接IB。 在IB的高度是110,但我的文字的高度大约是1500现在我想改变高度,以使全文无需滚动可读。
什么代码没有调整我UIWebView
在webViewDidFinishLoad
? 找不到任何工作的。
我绝对不能调整我UIWebView
。
我UIWebView
在.H和宣布,以连接IB。 在IB的高度是110,但我的文字的高度大约是1500现在我想改变高度,以使全文无需滚动可读。
什么代码没有调整我UIWebView
在webViewDidFinishLoad
? 找不到任何工作的。
该UIScrollView
属性可用UIWebView
在IOS 5,可以使用通过实施调整您的观点出发webViewDidFinishLoad:
在您的代理消息,就像这样:
-(void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect newBounds = webView.bounds;
newBounds.size.height = webView.scrollView.contentSize.height;
webView.bounds = newBounds;
}
您是否尝试过: 这个答案 ?
[编辑]
有的人说,这是工作:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// Change the height dynamically of the UIWebView to match the html content
CGRect webViewFrame = webView.frame;
webViewFrame.size.height = 1;
webView.frame = webViewFrame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
webViewFrame.size = fittingSize;
// webViewFrame.size.width = 276; Making sure that the webView doesn't get wider than 276 px
webView.frame = webViewFrame;
float webViewHeight = webView.frame.size.height;
}
这是未经测试通过我,但70人投^这个答案和建议设置sizeTahtFits:CGSizeZero
喜欢你frame.size的复位
有的人用JavaScript来解决这个问题:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *string = [_webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"body\").offsetHeight;"];
CGFloat height = [string floatValue] + 8;
CGRect frame = [_webView frame];
frame.size.height = height;
[_webView setFrame:frame];
if ([[self delegate] respondsToSelector:@selector(webViewController:webViewDidResize:)])
{
[[self delegate] webViewController:self webViewDidResize:frame.size];
}
}
由John和上述埃里克作为回答,这块代码工作。
-(void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect newBounds = webView.bounds;
newBounds.size.height = webView.scrollView.contentSize.height;
webView.bounds = newBounds;
}
但是同时使用此代码,我发现它返回我一个合适的WebView但出身不当,如果那对任何人的情况下尝试,只需使用此代码重置
webView.frame=CGRectMake(webView.frame.origin.x, webView.center.y, webView.frame.size.width, webView.frame.size.height);
y轴设置,你会得到web视图,你想要的。