WKWebview에서 웹뷰가 로드되기전 preload를 띄워서
사용자의 Ux를 개선해 봅시다
UIkit에 포함된 UIIndicatorView와
ios WKWebView에서 탐색 요청을 수락, 로드 및 완료하는 과정에서 트리거 되는 WKNavigationDelegate를 이용할것입니다.
선언부에 아래의 코드를 추가해줍니다.
// 선언부에 추가 var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
ViewController.swift내에 WKNavigationDelegate를 이용합니다.
// 로드 시작 func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivitityIndicatorViewStyle.gray) activityIndicator.frame = CGRect(x: view.frame.midX - 25, y: view.frame.midY - 25, width: 50, height: 50) activityIndicator.hidesWhenStopped = true activityIndicator.startAnimating() view.addSubview(activityIndicator) } // 로드 종료 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { self.activityIndicator.removeFromSuperView(); } // 로드 오류 func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { self.activityIndicator.removeFromSuperView(); }
예시이미지
출처
'네이티브 > Ios' 카테고리의 다른 글
Ios 웹뷰 디버깅 (0) | 2022.01.19 |
---|---|
Ios Apple Native Login (0) | 2021.12.05 |
Ios App Memory Check (0) | 2021.12.05 |
Ios html5 Geolocation 웹뷰 적용 (0) | 2021.12.02 |
Ios 스플래쉬 화면 띄우기 (0) | 2021.09.27 |