// // QDetailViewController.m // tongxin // // Created by WeiChaoZheng on 2018/11/8. // Copyright © 2018年 xTT. All rights reserved. // #import "QDetailViewController.h" @interface QDetailViewController () @end @implementation QDetailViewController //详细的问题页面 - (void)viewDidLoad { [super viewDidLoad]; self.title = @"常见问题"; self.view.backgroundColor = KKWhiteColorColor; UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:FontBold_(18) textColor:KKBlack20 text:self.titleStr Radius:0]; [self.view addSubview:titleLabel]; [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view).inset(16); make.top.equalTo(self.view).offset(iPhoneX_NavHeight+15); }]; UILabel *line = [UILabel new]; line.backgroundColor = RGB(240, 240, 240); [self.view addSubview:line]; [line mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view).inset(16); make.top.equalTo(titleLabel.mas_bottom).offset(10); make.height.mas_equalTo(0.5); }]; self.webView = [[WKWebView alloc] initWithFrame:CGRectZero]; [self.view addSubview:self.webView]; self.webView.UIDelegate = self; self.webView.navigationDelegate = self; self.webView.scrollView.bounces = NO; [self.webView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view).inset(5); make.top.equalTo(line.mas_bottom).offset(5); make.bottom.equalTo(self.view.mas_bottom); }]; // self.webView.hidden = YES; if(self.content){ [self.webView loadHTMLString:[NSString stringWithFormat:@"%@%@",@"",self.content] baseURL:nil]; }else{ if(self.url){ [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.url]]]; } } } // 页面加载完成之后调用 此方法会调用多次 - (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation { [UICommon HidenLoading]; self.webView.hidden = NO; WEAKSELF //获取内容实际高度(像素)@"document.getElementById(\"content\").offsetHeight;" [_webView evaluateJavaScript:@"document.body.scrollHeight" completionHandler:^(id _Nullable result,NSError * _Nullable error) { // 此处js字符串采用scrollHeight而不是offsetHeight是因为后者并获取不到高度,看参考资料说是对于加载html字符串的情况下使用后者可以,但如果是和我一样直接加载原站内容使用前者更合适 //获取页面高度,并重置webview的frame // double contentViewHeight = [result doubleValue]+45; // // 15 是 contentView 距离顶部的 距离 ,10 是距离底部的距离 // CGFloat maxHeight = ScreenHeight-getRectNavAndStatusHight - 15 - 10; // // if(contentViewHeight > maxHeight){ // contentViewHeight = maxHeight; // } // if(contentViewHeight > weakSelf.contentViewHeightNSLC.constant){ // dispatch_async(dispatch_get_main_queue(), ^{ // weakSelf.contentViewHeightNSLC.constant = contentViewHeight; // }); // } }]; NSLog(@"结束加载"); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end