// // KBShopPushWebViewController.m // YouHuiProject // // Created by 小花 on 2018/11/5. // Copyright © 2018年 kuxuan. All rights reserved. // #import "KBShopPushWebViewController.h" #import #import #import #import "WebviewProgressLine.h" @interface KBShopPushWebViewController () @property (nonatomic, strong) UIWebView *webView; @property (nonatomic, strong) UIButton *backButton; /** 加载进度条 */ @property (nonatomic,strong) WebviewProgressLine *progressLine; @end @implementation KBShopPushWebViewController - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; } - (void)viewDidLoad { [super viewDidLoad]; [self configWebView]; [self configNavigationBar]; [self openUrl]; } - (void)configWebView { self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, NavBarHeight, SCREEN_WIDTH, SCREEN_HEIGHT-NavBarHeight)]; self.webView.delegate = self; [self.view addSubview:self.webView]; } - (void)configNavigationBar { self.view.backgroundColor = [UIColor whiteColor]; self.navigationBar.showNavigationBarBottomLine = YES; [self.navigationBar setCustomLeftButtons:@[self.backButton]]; self.progressLine = [[WebviewProgressLine alloc] initWithFrame:CGRectMake(0, NavBarHeight, SCREEN_WIDTH, 3)]; self.progressLine.lineColor = [UIColor YHColorWithHex:0xCC0E0E]; [self.view addSubview:self.progressLine]; } - (void)backAction { [self.navigationController popViewControllerAnimated:YES]; } - (void)openUrl { id page = [AlibcTradePageFactory page:self.url]; [self openWebViewByPage:page]; } - (void)openWebViewByPage:(id)page { //淘客信息 AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init]; taoKeParams.pid = ALTK_PID; //打开方式 AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; showParam.openType = AlibcOpenTypeH5; [[AlibcTradeSDK sharedInstance].tradeService show:self webView:self.webView page:page showParams:showParam taoKeParams:taoKeParams trackParam:nil tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { } tradeProcessFailedCallback:^(NSError * _Nullable error) { }]; self.webView.delegate = self; } #pragma mark -------------- UIWebView delegate -------- - (void)webViewDidStartLoad:(UIWebView *)webView { [self.progressLine startLoadingAnimation]; } #pragma mark -- 拦截webview用户触击了一个链接 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //判断是否是单击 if (navigationType == UIWebViewNavigationTypeLinkClicked) { NSString *url = [request.URL absoluteString]; //拦截链接跳转到动态详情 if ([url rangeOfString:@"http"].location != NSNotFound) { //跳转到你想跳转的页面 KBShopPushWebViewController *web = [[KBShopPushWebViewController alloc] init]; web.url = url; [self.navigationController pushViewController:web animated:YES]; return NO; //返回NO,此页面的链接点击不会继续执行,只会执行跳转到你想跳转的页面 } } return YES; } - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; [self.navigationBar setNavTitle:title]; [self.progressLine endLoadingAnimation]; } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { [self.progressLine endLoadingAnimation]; } #pragma mark ------ - (UIButton *)backButton { if (!_backButton) { _backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; [_backButton setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal]; [_backButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; } return _backButton; } @end