Răsfoiți Sursa

1.修改iOS Apex CRM首页HUD不能移除。

Pen Li 7 ani în urmă
părinte
comite
2e9578e126
1 a modificat fișierele cu 40 adăugiri și 34 ștergeri
  1. 40 34
      RedAnt CRM/APEX CRM/APEX CRM/RAWKWebView.m

+ 40 - 34
RedAnt CRM/APEX CRM/APEX CRM/RAWKWebView.m

@@ -1081,53 +1081,59 @@
 
 - (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
     NSLog(@"%s",__func__);
-    [self.wkwebView.scrollView hideEmpty];
-    if (self.firstLoad) {
-        self.hud = [RAProgressHUD showHUDOnView:self.ra_viewController.view];
-    }
-    if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidStarLoading:)]) {
-        [self.delegate webviewDidStarLoading:self];
+    @synchronized (self) {
+        [self.wkwebView.scrollView hideEmpty];
+        if (self.firstLoad) {
+            self.hud = [RAProgressHUD showHUDOnView:self.ra_viewController.view];
+        }
+        if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidStarLoading:)]) {
+            [self.delegate webviewDidStarLoading:self];
+        }
     }
 }
 
 - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error {
     NSLog(@"%s",__func__);
     NSLog(@"error: %@", error.localizedDescription);
-    if (self.hud) {
-        [self.hud dismiss];
-        self.hud = nil;
-    }
-    
-    if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidFinishLoading:error:)]) {
-        [self.delegate webviewDidFinishLoading:self error:error];
+    @synchronized (self) {
+        if (self.hud) {
+            [self.hud dismiss];
+            self.hud = nil;
+        }
+        
+        if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidFinishLoading:error:)]) {
+            [self.delegate webviewDidFinishLoading:self error:error];
+        }
+        
+        //    NSURL *bundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
+        //    [webView loadHTMLString:@"<html></html>" baseURL:bundleURL];
+        
+        [self.wkwebView.scrollView showEmpty];
     }
-    
-//    NSURL *bundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
-//    [webView loadHTMLString:@"<html></html>" baseURL:bundleURL];
-    
-    [self.wkwebView.scrollView showEmpty];
 }
 
 - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
 {
-    if (self.hud) {
-        [self.hud dismiss];
-        self.hud = nil;
-        self.firstLoad = NO;
-    }
-    
-    if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidFinishLoading:error:)]) {
-        [self.delegate webviewDidFinishLoading:self error:nil];
-    }
-    
-    //    self.wkwebView.scrollView.scrollEnabled = NO;
-    [webView evaluateJavaScript:@"document.body.scrollHeight" completionHandler:^(id result, NSError *_Nullable error) {
+    @synchronized (self) {
+        if (self.hud) {
+            [self.hud dismiss];
+            self.hud = nil;
+            self.firstLoad = NO;
+        }
         
-        NSLog(@"web page height:%@",result);
-        //result 就是加载完成后 webView的实际高度
-        //获取后返回重新布局
+        if (self.delegate && [self.delegate respondsToSelector:@selector(webviewDidFinishLoading:error:)]) {
+            [self.delegate webviewDidFinishLoading:self error:nil];
+        }
         
-    }];
+        //    self.wkwebView.scrollView.scrollEnabled = NO;
+        [webView evaluateJavaScript:@"document.body.scrollHeight" completionHandler:^(id result, NSError *_Nullable error) {
+            
+            NSLog(@"web page height:%@",result);
+            //result 就是加载完成后 webView的实际高度
+            //获取后返回重新布局
+            
+        }];
+    }
     
 //    NSStringEncoding encoding = NSUTF8StringEncoding;
 //    NSString *js = [NSString stringWithContentsOfFile:@"/Users/macmini1/eclipse-workspace/MyWeb/WebContent/JS/Interface.js" usedEncoding:&encoding error:nil];