[ios] 웹 컨텐츠 구성

iOS 앱에서 웹 컨텐츠를 표시하는 것은 매우 일반적입니다. 웹뷰를 사용하여 웹페이지를 로드하고 표시하는 방법에 대해 알아봅시다.

웹뷰 추가

iOS 앱에서 웹 컨텐츠를 표시하려면 UIWebView나 iOS 8부터 도입된 WKWebView를 사용할 수 있습니다. UIWebView는 iOS 8부터 사라지고 WKWebView를 사용하는 것이 좋습니다.

WKWebView를 사용하려면 먼저 import WebKit문을 추가하고, 웹뷰를 생성합니다.

import WebKit

let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height))
view.addSubview(webView)

URL 로드

웹뷰를 생성한 후에는 특정 URL을 로드하여 표시할 수 있습니다.

if let url = URL(string: "https://example.com") {
    let request = URLRequest(url: url)
    webView.load(request)
}

WKWebViewDelegate 활용

WKWebView에는 WKNavigationDelegateWKUIDelegate 프로토콜을 사용하여 웹페이지 로딩 상태 및 알림, 팝업 창, 경고 메시지 등을 처리할 수 있습니다.

class ViewController: UIViewController, WKNavigationDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
        webView.navigationDelegate = self
    }
    
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        // 웹페이지 로딩 완료 후에 실행할 작업
    }
}

iOS 앱에서 웹 컨텐츠를 효과적으로 표시하고 상호 작용하기 위해 위의 단계를 따라하면 됩니다.