WebView
웹뷰는 하이브리드 앱 타입의 형태에서 가장 중요한 요소이다. 웹의 도메인을 가지고 호출하여, 네이티브 앱 안에 알맞게 구성해준다.
- iOS 8에서 지원했지만 iOS 9에서 제대로 지원됌 → 현재 UIKit에 있는 WebView는 중단되고 WebKit에 있는 WKWebView를 사용해야함
- 웹뷰는 주로 HTML 페이지를 보여주려는 목적으로 iOS에서 제공하는 기본뷰 객체로써, 일종의 내장형 웹 브라우저라고 할 수 있음
- 웹뷰는 일반 뷰를 추가하듯 뷰 컨트롤러 내부에 추가한 다음, 약속된 메서드를 호출하는 방식
![](https://velog.velcdn.com/images/bluersh/post/99be3064-9d84-4c1a-9b80-f4318c4cb02b/image.png)
- WKUIDelegate, WKNavigationDelegate 프로토콜 채택(해당 프로토콜 구현시, 웹 페이지에 대한 로딩 상황을 추적할 수 있음)
- WKWebView 및 Indicator 객체 생성
![](https://velog.velcdn.com/images/bluersh/post/ad4634f4-474e-4ae7-8f36-45b7fbe9e1bd/image.png)
- webView(_webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation) : 검색을 시작할 때 이벤트 처리를 담당
- webView(_webView: WKWebView, didFinish navigation: WKNavigation!) : 검색이 종료되었을 때 실행될 코드를 담당
웹뷰의 메서드
![](https://velog.velcdn.com/images/bluersh/post/5459a7b6-8279-4756-9a3f-255621f613e2/image.png)
- load() : 웹 페이지를 호출하는 역할
- goBack(), goForward() : 이전 페이지나 다음 페이지로의 이동