본문 바로가기
네이티브/Ios

Ios 프리로더 띄우기

by 우보틀 2021. 9. 28.

WKWebview에서 웹뷰가 로드되기전 preload를 띄워서

사용자의 Ux를 개선해 봅시다

UIkit에 포함된 UIIndicatorView와

ios WKWebView에서 탐색 요청을 수락, 로드 및 완료하는 과정에서 트리거 되는 WKNavigationDelegate를 이용할것입니다.

  1. 선언부에 아래의 코드를 추가해줍니다.

    // 선언부에 추가
    var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
  2. 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();
    }

예시이미지




출처

https://walkthinksleep.tistory.com/entry/Swift-WKWebView%EC%97%90%EC%84%9C-Loaidng-%EB%9D%84%EC%9A%B0%EA%B8%B0

'네이티브 > 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