• WKWebView的使用


    一直以来只用过UIWebView,看别人源码项目用到了WKWebView,这里记录一下,毕竟iOS8建议使用WKWebView了.

    - (instancetype)initWithUrl:(NSString *)url {
        if (self = [super init]) {
            self.url = url;
        }
        return self;
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        NSURL *URL = [NSURL URLWithString:[self.url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        [self.webView loadRequest:[NSURLRequest requestWithURL:URL]];
    }
    
    - (WKWebView *)webView {
        if (!_webView) {
            WKWebView *wkWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - 64)];
            [self.view addSubview:wkWebView];
            _webView = wkWebView;
            wkWebView.UIDelegate = self;
            wkWebView.navigationDelegate = self;
            wkWebView.opaque = NO;
            wkWebView.backgroundColor = self.view.backgroundColor;
        }
        return _webView;
    }
    
    #pragma mark - WKNavigationDelegate
    - (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
        
        NSLog(@"%s", __FUNCTION__);
    }
    
    - (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation {
        NSLog(@"%s", __FUNCTION__);
    }
    
    - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
        
        NSLog(@"%s", __FUNCTION__);
    }
    
    - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error {
        
        NSLog(@"%s", __FUNCTION__);
    }
    
    - (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation {
        
        NSLog(@"%s", __FUNCTION__);
    }
    
    - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {
     
        // 允许跳转
        decisionHandler(WKNavigationResponsePolicyAllow); 
    }
    
    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
      
        // 允许跳转
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    
    - (void)pop {
        
        if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
            
            if ([self.webView canGoBack]) {
                [self.webView goBack];
            } else  {
                [self.navigationController popViewControllerAnimated:YES];
            }
        }
        
    }
    

      

  • 相关阅读:
    F. Maximum White Subtree 树形dp*换根
    D
    E
    两圆相交板子
    lucass定理
    高精度求组合数
    康托展开与康托逆展开
    FFT变换
    Codeforces Round #625 Div. 1 Problem C
    E.Multiply Pollard_rho质因数分解
  • 原文地址:https://www.cnblogs.com/pengsi/p/5985058.html
Copyright © 2020-2023  润新知