您的位置:首页 > 移动开发

关于UIWebView设置高度自适应的问题

2017-01-10 09:05 176 查看
转自:http://www.cnblogs.com/hw140430/p/4179494.html

- (void)viewDidLoad
{
[super viewDidLoad];

_scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 66, 320, 480)];

//中间还有其他控件

//创建webView时要设置一个临时的frame,不然的话webViewDidFinishLoad代理方法中设置webView高度自适应之后,webView会有很多空白
_webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 100, 320, 10)];
_webView.delegate = self;
//_webView.ScalesPageToFit = YES;//可以用捏合手势来放大或缩小webView页面
_webView.scrollView.scrollEnabled = NO;//禁止UIWebView滚动

//WebView加载本地的html数据
NSMutableDictionary *dict = [LoadFileTools loadWebViewContentsWithFileName:kJobDescribe];
NSString *filePath = [dict objectForKey:@"filePath"];
NSString *htmlString = [dict objectForKey:@"htmlString"];
[_webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:filePath]];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{


   //获取WebView内容的高度(貌似这两种方式都行)

   //NSString *contentH = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"];

   NSString *contentH = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];
//计算坐标
CGFloat webViewY = otherControlY + 50;
CGFloat webViewH = [contentH floatValue] + 25;

webView.frame = CGRectMake(12, webViewY, 320 - 12, webViewH);
//禁止选中
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
//禁止弹出菜单
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];

//设置滚动区域
_scrollView.contentSize = CGSizeMake(0, webViewY + webViewH - 10);
[_scrollView addSubview:_webView];
[self.view addSubview:_scrollView];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: