Czy próbowałeś już: this answer?
[Edytuj]
Niektórzy faceci powiedzieć to działa:
- (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;
}
To niesprawdzone przez mnie, ale 70 osób głosowało^tej odpowiedzi i jej polecić, aby ustawić sizeTahtFits:CGSizeZero
jak reset ramki .size
i niektórzy ludzie wykorzystują JavaScript, aby rozwiązać ten problem:
- (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];
}
}
'-sizeToFit'? W przeciwnym razie dostęp do 'webView.scrollView.contentSize' –
nic dla mnie nie zadziałało. masz jakiś kod? – filou
Miałem ten sam problem. Jedynym sposobem, w jaki udało mi się go uruchomić, było dodanie programowego widoku do widoku, a następnie modyfikacja jego ramki. Wygląda na to, że nie można modyfikować jego ramki, po prostu jeśli została dodana przez IB –