[iOS] WKWebView
WKWebView (class) : 브라우저와 같은 대화형 웹 콘텐츠를 표시하는 객체
웹 콘텐츠를 앱의 UI에 원활하게 통합하는 데 사용하는 플랫폼 (Native View)
웹 브라우저의 기능을 앱 내에 통합하는 것을 가능하게 함
- 웹 페이지의 로딩, 탐색, 스크롤과 같은 기능을 제공
- 이 웹 뷰는 HTML, CSS, JavaScript 콘텐츠도 Native View에서 사용 가능합니다.
WebViewConfiguration을 사용하여 URL Scheme를 처리기를 설정하고, Cookie를 관리, 웹 콘텐츠의 대한 기본 설정을 사용자 정의
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
웹 뷰가 스크린에 나타나면 URLRequest를 이용하여 컨텐츠를 웹서버로부터 로딩하거나 HTML String 또는 로컬 파일로부터
즉시 컨텐츠를 로딩
앞으로 및 뒤로 가기 등을 사용하여 다양한 웹페이지 간을 탐색하는 기능 포함
탐색을 허용하지 않거나 웹 보기의 탐색 동작을 사용자 정의 하려면 WKNavigationDelegate을 사용
WKWebView | Apple Developer Documentation
An object that displays interactive web content, such as for an in-app browser.
developer.apple.com
WKWebViewConfiguration | Apple Developer Documentation
A collection of properties that you use to initialize a web view.
developer.apple.com
[iOS] WKUIDelegate
WKUIDelegate(Protocol) : 웹페이지를 대신하여 기본 UI 요소를 표시하는 방법 새 창이 열리는 것을 제어 사용자가 요소를 클릭했을 때 표시되는 기본 메뉴 Item의 동작을 강화 기타 UI 관련 작업 수행 Java
kimkhuna99.tistory.com
[iOS] WKNavigationDelegate
WKNavigationDelgate 웹뷰의 탐색(navigation) 변경사항을 수락 또는 거부하고 탐색 요청 진행 상황을 추적하는 방법 WKNavigationDelegate | Apple Developer Documentation Methods for accepting or rejecting navigation changes, and f
kimkhuna99.tistory.com
[iOS] WKScriptMessageHandler
WKScriptMessageHandler(Protocol) 웹페이지에서 실행되는 JavaScript 코드로부터 메시지를 수신하기 위한 인터페이스 웹 뷰 안에서 JavaScript message를 앱에서 응답하는 방법 특히 MessageHandler를 타겟으로 메시
kimkhuna99.tistory.com
'iOS > WebKit' 카테고리의 다른 글
[iOS/WKWebKit] WKWebView에 httpCookie 설정 (1) | 2024.09.08 |
---|---|
[iOS/WebKit] Completion handler passed to [webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once 오류 (1) | 2024.06.09 |
[iOS] HTTP Cookie (0) | 2024.03.24 |
[iOS] WKScriptMessageHandler (0) | 2024.03.16 |