투케이2K

629. (ios/swift5) [간단 소스] IOS WKWebView 웹뷰 화면 스크롤 이동 이벤트 감지 - UIScrollViewDelegate Webview Scroll 본문

IOS

629. (ios/swift5) [간단 소스] IOS WKWebView 웹뷰 화면 스크롤 이동 이벤트 감지 - UIScrollViewDelegate Webview Scroll

투케이2K 2025. 2. 2. 09:33

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift5

- 개발 툴 : Xcode

- 기술 구분 : Webview / Scroll / UIScrollViewDelegate

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

[1] : 사전 웹뷰 뷰컨트롤러에 딜리게이트 등록 : UIScrollViewDelegate

[2] : 웹뷰 속성 지정에서 스크롤 이벤트 감지 등록 : self.main_webview?.scrollView.delegate = self  // 스크롤 이벤트 감지를 위해 delegate 설정

[3] : 웹뷰 스크롤 이벤트 감지를 위한 딜리게이트 메소드 상속 함수 정의

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        S_Log.d(tag: "WebView_Scroll [웹뷰 스크롤 진행 중]", msg: "\(scrollView.contentOffset.y)")
    }

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        S_Log.w(tag: "WebView_Scroll [웹뷰 스크롤 시작]", msg: "Start Scroll")
    }

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        S_Log.e(tag: "WebView_Scroll [웹뷰 스크롤 멈춤]", msg: "End Scroll")
    }

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------

🟠 :: WebView_Scroll [웹뷰 스크롤 시작] :: Start Scroll  --------------------> 웹 화면 Top (처음) 에서 스크롤 시작


🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 22.0


🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 58.0


🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 114.33333333333333


🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 184.33333333333334

........

🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 2092.0


🟢 :: WebView_Scroll [웹뷰 스크롤 진행 중] :: 2130.0


🔴 :: WebView_Scroll [웹뷰 스크롤 멈춤] :: End Scroll  --------------------> 웹 화면 End (끝) 에서 스크롤 종료

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[Ios/Swift] A_Main - 웹뷰 로드 화면 관련 클래스 정리

https://blog.naver.com/kkh0977/222686770495

// --------------------------------------------------------------------------------------
 
반응형
Comments