我有一个使用 loadHtmlString 函数加载数据的 uiwebview.问题是我正在从 sqlite 数据库加载数据,每次我加载不同长度的不同字符串时,Web 视图自然会获得不同的高度.
现在我每次都需要知道 uiwebview 的确切高度,以便在 webView 正下方加载 imageView.我试过了
I have a uiwebview that loads data using the loadHtmlString function.The thing is i am loading the data from an sqlite database, each time i load a different string with different length and naturally the web view obtains different height.
Now i need to know each time the exact height of the uiwebview in order to load an imageView right under the webView.
I have tried
- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
CGRect frame = aWebView.frame;
frame.size.height = 1;
aWebView.frame = frame;
CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
aWebView.frame = frame;
NSLog(@"Size: %f, %f", fittingSize.width, fittingSize.height);
}
但我总是得到相同的结果.我需要知道如何在每次加载时动态获取 Web 视图的高度.谢谢
but i always get the same result. I need to know how can i get dynamically the height of web view each time it is loaded. Thx
这不是处理这种情况的正确方法;而不是在图像视图中加载图像并且必须始终牢记高度和宽度以及所有这些东西......最简单和最可靠的解决方案就是将图像加载到 html 字符串中,就是这样!只要确保 baseURL 如此,无论您采取什么方向,一切都会好起来的:
This wasn't the right approach to handle this situation; instead of loading the image in an image view and having to keep always in mind the height and width and all that stuff...The easiest and most reliable solution was just to load the image inside the html string and that's it ! Just be sure of the baseURL as so and everything will be ok no matter what orientation you take :
NSString* extension = @"gif";
NSString* strRR = [NSString stringWithFormat:@"%@.%@", authorNAme2,extension];
NSString *path = [[NSBundle mainBundle] bundlePath];
//NSLog(@"This is the path %@", path);
NSURL *baseURL = [NSURL fileURLWithPath:path];
// NSLog(@"this is the base URL %@",baseURL);
NSString *cachePath = [NSString stringWithFormat:@"%@/%@", path,strRR];
NSString * htmlString = [NSString stringWithFormat:@"
<html>
<table width='100%%'><tr><td>
<body>
<p style = 'font-size:30px;'> %@ <p>
</td></tr><tr><td><br></td></tr><tr><td align ='center'><br><img src='%@' width='60%%' ></td></tr></body>
</table>
</html>",authorNAme , cachePath];
// NSString *selection = [WebV2 stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
// NSLog(@"*/*/*/*/**/*/*/*/*/*/*//*/ This is your selection mate %@" , selection);
WebV.opaque = NO;
WebV.backgroundColor = [UIColor clearColor];
[self.WebV setScalesPageToFit:YES];
[self.WebV loadHTMLString:htmlString baseURL:baseURL];
这篇关于获取 UIWebView 内容的高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!