Commit 416514ba282163f1d20b223f75fe82ddd2823cff

Authored by iOS-Xiaowen
1 parent f4ae3d57

no message

CNLiveScioLive/Pages/Home/CNHomeBaseViewController.m
... ... @@ -267,32 +267,6 @@ static NSString *newsUpPicTableViewCell = @"CNLiveNewsUpPicTableViewCell";
267 267 */
268 268 #pragma mark - Action
269 269 - (void)pushViewControllerWithModel:(CNHomeModel *)model {
270   -// if ([model.type isEqualToString:@"program"]) {
271   -// //视频
272   -// VideoDetailViewController *vc = [[VideoDetailViewController alloc] init];
273   -// vc.model = model;
274   -// vc.hidesBottomBarWhenPushed = YES;
275   -// [self.navigationController pushViewController:vc animated:YES];
276   -//
277   -// } else if ([model.type isEqualToString:@"article"]) {
278   -// //文章
279   -// ArticleDetailViewController *vc = [[ArticleDetailViewController alloc] init];
280   -// vc.model = model;
281   -// vc.hidesBottomBarWhenPushed = YES;
282   -// [self.navigationController pushViewController:vc animated:YES];
283   -//
284   -// } else if ([model.type isEqualToString:@"subject"]) {
285   -// // SCIOSpecialViewController *vc = [[SCIOSpecialViewController alloc] initWithDictionary:_dic];
286   -// // vc.title = @"国新专题";
287   -// // vc.hidesBottomBarWhenPushed = YES;
288   -//
289   -// } else if ([model.type isEqualToString:@"LK"]) {
290   -// ArticleDetailViewController *vc = [[ArticleDetailViewController alloc] init];
291   -// vc.model = model;
292   -// vc.hidesBottomBarWhenPushed = YES;
293   -// [self.navigationController pushViewController:vc animated:YES];
294   -//
295   -// }
296 270 NSDictionary *_dic = [model toDictionary];
297 271 if ([@"program" isEqualToString:_dic[@"type"]]) {
298 272 //视频
... ...
CNLiveScioLive/Pages/Live/Controller/VideoPlayBackViewController.m
... ... @@ -222,23 +222,23 @@
222 222 }
223 223 backgroundView.bounces = NO;
224 224 [self.view addSubview:backgroundView];
225   - //
226 225  
227   - WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc]init];
228   -
229   - config.preferences = [WKPreferences new];
230   - config.preferences.minimumFontSize = 20;
231   -
232   - config.preferences.javaScriptEnabled = YES;
233   - config.preferences.javaScriptCanOpenWindowsAutomatically = YES;
234   - config.userContentController = [[WKUserContentController alloc]init];
235   - relatedWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, MainScreenWidth, 200) configuration:config];
  226 + NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
  227 +
  228 + WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
  229 + WKUserContentController *wkUController = [[WKUserContentController alloc] init];
  230 + [wkUController addUserScript:wkUScript];
  231 +
  232 + WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
  233 + config.userContentController = wkUController;
  234 + relatedWebView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
236 235 // relatedWebView = [[WKWebView alloc] initWithFrame:CGRectZero];
237 236 relatedWebView.scrollView.backgroundColor = [UIColor whiteColor];
238 237 // relatedWebView.dataDetectorTypes = UIDataDetectorTypeNone;
239 238 relatedWebView.backgroundColor = [UIColor whiteColor];
240 239 relatedWebView.scrollView.bounces = NO;
241 240 relatedWebView.navigationDelegate = self;
  241 + relatedWebView.UIDelegate = self;
242 242 relatedWebView.opaque = NO;
243 243 relatedWebView.tag = 1000;
244 244 [backgroundView addSubview:relatedWebView];
... ... @@ -398,8 +398,7 @@
398 398  
399 399 #pragma mark - WKNavigationDelegate
400 400 // 页面开始加载时调用
401   -- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
402   -{
  401 +- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
403 402 NSURL *requestURL = navigationAction.request.URL;
404 403 NSString *scheme = navigationAction.request.URL.scheme;
405 404 if (([scheme isEqualToString: @"http"] || [scheme isEqualToString:@"https"] || [scheme isEqualToString: @"mailto" ]) && (navigationAction.navigationType == WKNavigationTypeLinkActivated )) {
... ... @@ -409,94 +408,104 @@
409 408 decisionHandler(WKNavigationActionPolicyAllow);
410 409 }
411 410 // 页面加载完成之后调用
412   -- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
413   -{
  411 +- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
414 412 if (1000 == webView.tag) {
415 413 CGRect frame = relatedWebView.frame;
416 414 frame.size.width = MainScreenWidth;
417 415 frame.size.height = 1;
418 416 relatedWebView.frame = frame;
419   - descriptionHeight = relatedWebView.scrollView.contentSize.height;
420   - [relatedWebView setFrame:CGRectMake(0, 0, MainScreenWidth, descriptionHeight)];
421   - lineImage1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, descriptionHeight, MainScreenWidth, 1)];
422   - lineImage1.backgroundColor = Color_Line;
423   - [backgroundView addSubview:lineImage1];
424   -
425   - upDownButton = [UIButton buttonWithType:UIButtonTypeCustom];
426   - [upDownButton addTarget:self action:@selector(showGraphicLive:) forControlEvents:UIControlEventTouchUpInside];
427   - [upDownButton setFrame:CGRectMake(0, descriptionHeight, MainScreenWidth, 40)];
428   - [backgroundView addSubview:upDownButton];
429   -
430   - UILabel *graphicLive = [[UILabel alloc] initWithFrame:CGRectMake(20, descriptionHeight, MainScreenWidth/2, 40)];
431   - graphicLive.font = [UIFont systemFontOfSize:13];
432   - graphicLive.backgroundColor = [UIColor clearColor];
433   - graphicLive.textColor = HEXCOLOR(0x184085);
434   - [backgroundView addSubview:graphicLive];
435   - graphicLive.text = @"发布会图文播报";
436   -
437   - upDownImage = [[UIImageView alloc] initWithFrame:CGRectMake(MainScreenWidth - 31, descriptionHeight + 16, 13, 7)];
438   - upDownImage.image = [UIImage imageNamed:@"cnlive_button_down"];
439   - [backgroundView addSubview:upDownImage];
440   -
441   - lineImage2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 40 + descriptionHeight, MainScreenWidth, 1)];
442   - lineImage2.backgroundColor = Color_Line;
443   - [backgroundView addSubview:lineImage2];
  417 +// descriptionHeight = relatedWebView.scrollView.contentSize.height;
444 418  
445   - [backgroundView setContentSize:CGSizeMake(MainScreenWidth, 40 + descriptionHeight)];
  419 + [webView evaluateJavaScript:@"document.body.scrollHeight"completionHandler:^(id _Nullable result,NSError * _Nullable error){
  420 + NSLog(@"scrollHeight高度:%.2f",[result floatValue]);
  421 + descriptionHeight = [result floatValue];
  422 + [relatedWebView setFrame:CGRectMake(0, 0, MainScreenWidth, descriptionHeight)];
  423 + lineImage1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, descriptionHeight, MainScreenWidth, 1)];
  424 + lineImage1.backgroundColor = Color_Line;
  425 + [backgroundView addSubview:lineImage1];
446 426  
447   - WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc]init];
448   -
449   - config.preferences = [WKPreferences new];
450   - config.preferences.minimumFontSize = 12;
451   -
452   - config.preferences.javaScriptEnabled = YES;
453   - config.preferences.javaScriptCanOpenWindowsAutomatically = YES;
454   - config.userContentController = [[WKUserContentController alloc]init];
455   - _webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
  427 + upDownButton = [UIButton buttonWithType:UIButtonTypeCustom];
  428 + [upDownButton addTarget:self action:@selector(showGraphicLive:) forControlEvents:UIControlEventTouchUpInside];
  429 + [upDownButton setFrame:CGRectMake(0, descriptionHeight, MainScreenWidth, 40)];
  430 + [backgroundView addSubview:upDownButton];
  431 +
  432 + UILabel *graphicLive = [[UILabel alloc] initWithFrame:CGRectMake(20, descriptionHeight, MainScreenWidth/2, 40)];
  433 + graphicLive.font = [UIFont systemFontOfSize:13];
  434 + graphicLive.backgroundColor = [UIColor clearColor];
  435 + graphicLive.textColor = HEXCOLOR(0x184085);
  436 + [backgroundView addSubview:graphicLive];
  437 + graphicLive.text = @"发布会图文播报";
  438 +
  439 + upDownImage = [[UIImageView alloc] initWithFrame:CGRectMake(MainScreenWidth - 31, descriptionHeight + 16, 13, 7)];
  440 + upDownImage.image = [UIImage imageNamed:@"cnlive_button_down"];
  441 + [backgroundView addSubview:upDownImage];
  442 +
  443 + lineImage2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 40 + descriptionHeight, MainScreenWidth, 1)];
  444 + lineImage2.backgroundColor = Color_Line;
  445 + [backgroundView addSubview:lineImage2];
  446 +
  447 + [backgroundView setContentSize:CGSizeMake(MainScreenWidth, 40 + descriptionHeight)];
  448 +
  449 + NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
456 450  
457   -// _webView = [[WKWebView alloc] initWithFrame:CGRectZero];
458   - _webView.scrollView.backgroundColor = [UIColor clearColor];
459   -// _webView.dataDetectorTypes = UIDataDetectorTypeNone;
460   - _webView.backgroundColor = [UIColor clearColor];
461   - _webView.scrollView.bounces = NO;
462   - _webView.UIDelegate = self;
463   -
464   - _webView.opaque = NO;
465   - _webView.tag = 2000;
466   -
467   - [backgroundView addSubview:_webView];
  451 + WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
  452 + WKUserContentController *wkUController = [[WKUserContentController alloc] init];
  453 + [wkUController addUserScript:wkUScript];
  454 +
  455 + WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
  456 + config.userContentController = wkUController;
  457 +
  458 + _webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
  459 + // _webView = [[WKWebView alloc] initWithFrame:CGRectZero];
  460 + _webView.scrollView.backgroundColor = [UIColor clearColor];
  461 + // _webView.dataDetectorTypes = UIDataDetectorTypeNone;
  462 + _webView.backgroundColor = [UIColor clearColor];
  463 + _webView.scrollView.bounces = NO;
  464 + _webView.UIDelegate = self;
  465 + _webView.navigationDelegate = self;
  466 +
  467 + _webView.opaque = NO;
  468 + _webView.tag = 2000;
  469 +
  470 + [backgroundView addSubview:_webView];
  471 +
  472 + }];
468 473 [self loadRelatedInformation];
469 474 [self loadData];
470   - }
471   - else if (2000 == webView.tag) {
472   - CGFloat width = MainScreenWidth - 20;
473   - NSString *string = [NSString stringWithFormat:
474   - @"var script = document.createElement('script');"
475   - "script.type = 'text/javascript';"
476   - "script.text = \"function ResizeImages() { "
477   - "var myimg,oldwidth;"
478   - "var maxwidth=%f;" //缩放系数
479   - "for(i=0;i <document.images.length;i++){"
480   - "myimg = document.images[i];"
481   - "if(myimg.width > maxwidth){"
482   - "oldwidth = myimg.width;"
483   - "myimg.width = maxwidth;"
484   - "myimg.height = myimg.height * (maxwidth/oldwidth);"
485   - "}"
486   - "}"
487   - "}\";"
488   - "document.getElementsByTagName('head')[0].appendChild(script);",width];
  475 +
  476 + } else if (2000 == webView.tag) {
  477 + CGFloat width = MainScreenWidth - 20;
  478 + NSString *string = [NSString stringWithFormat:
  479 + @"var script = document.createElement('script');"
  480 + "script.type = 'text/javascript';"
  481 + "script.text = \"function ResizeImages() { "
  482 + "var myimg,oldwidth;"
  483 + "var maxwidth=%f;" //缩放系数
  484 + "for(i=0;i <document.images.length;i++){"
  485 + "myimg = document.images[i];"
  486 + "if(myimg.width > maxwidth){"
  487 + "oldwidth = myimg.width;"
  488 + "myimg.width = maxwidth;"
  489 + "myimg.height = myimg.height * (maxwidth/oldwidth);"
  490 + "}"
  491 + "}"
  492 + "}\";"
  493 + "document.getElementsByTagName('head')[0].appendChild(script);",width];
489 494 // [webView stringByEvaluatingJavaScriptFromString:string];
490 495 // [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];
491   - [webView evaluateJavaScript:string completionHandler:nil];
492   - [webView evaluateJavaScript:@"ResizeImages();" completionHandler:nil];
493   -
494   - CGRect frame = _webView.frame;
495   - frame.size.width = MainScreenWidth;
496   - frame.size.height = 1;
497   - _webView.frame = frame;
498   - graphicLiveHeight = _webView.scrollView.contentSize.height;
499   -
  496 + [webView evaluateJavaScript:string completionHandler:nil];
  497 + [webView evaluateJavaScript:@"ResizeImages();" completionHandler:nil];
  498 +
  499 + CGRect frame = _webView.frame;
  500 + frame.size.width = MainScreenWidth;
  501 + frame.size.height = 1;
  502 + _webView.frame = frame;
  503 +// graphicLiveHeight = _webView.scrollView.contentSize.height;
  504 +
  505 + CGFloat contentHeight = webView.scrollView.contentSize.height;
  506 + [webView evaluateJavaScript:@"document.body.scrollHeight"completionHandler:^(id _Nullable result,NSError * _Nullable error){
  507 + NSLog(@"scrollHeight高度:%.2f",[result floatValue]);
  508 + graphicLiveHeight = [result floatValue];
500 509 NSLog(@"%@",NSStringFromCGRect(_webView.frame));
501 510 NSLog(@"%@",NSStringFromCGSize(_webView.scrollView.contentSize));
502 511 if (0 == [heightArr[fontIndex] floatValue]) {
... ... @@ -512,7 +521,9 @@
512 521 [self.tableView setFrame:frame];
513 522 _webView.hidden = NO;
514 523 }
515   - }
  524 + }];
  525 +
  526 + }
516 527 }
517 528  
518 529 - (void)shareButtonCNLivePlayerController:(CNLivePlayerController *)view{
... ... @@ -668,4 +679,5 @@
668 679 - (UIInterfaceOrientationMask)supportedInterfaceOrientations {
669 680 return UIInterfaceOrientationMaskAllButUpsideDown;
670 681 }
  682 +
671 683 @end
... ...