webView 사용하기
프로젝트 제작 당시 iOS 12가 없어서 webView를 사용하여 만들어 봤습니다.
iOS 12부터는 WKWebView를 써야 합니다.
webView는 deprecated 됐습니다.
webView는 html request, local html file 등 여러가지 방법으로 사용할 수 있습니다.
UIWebViewDelegate를 통해 webView가 로딩되는 시점을 알 수 있습니다.
아래 스크린샷과 소스코드를 비교해보시면 좀 더 이해하기 편할겁니다.
궁금하신점은 댓글로 달아주세요.
해피코딩 :)
Preview
Source
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// WebViewViewController.swift | |
// UIKit component handling | |
// | |
// Created by Taehyeon Han on 2018. 8. 1.. | |
// Copyright © 2018년 calmone. All rights reserved. | |
// | |
import UIKit | |
class WebViewViewController: BaseViewController, UIWebViewDelegate { | |
lazy var webView: UIWebView = { | |
// Generate WebView. | |
let webView = UIWebView() | |
// Set Delegate to itself. | |
webView.delegate = self | |
// Set the size of WebView. | |
webView.frame = self.view.bounds | |
// Set the URL. | |
let url: URL = URL(string: "https://medium.com/@calmone")! | |
// Issue a rev. | |
let request: NSURLRequest = NSURLRequest(url: url) | |
// Issue the request. | |
webView.loadRequest(request as URLRequest) | |
return webView | |
}() | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
// Do any additional setup after loading the view. | |
// Add UIWebView on view | |
self.view.addSubview(self.webView) | |
} | |
override func didReceiveMemoryWarning() { | |
super.didReceiveMemoryWarning() | |
// Dispose of any resources that can be recreated. | |
} | |
// Called when all pages have been read. | |
func webViewDidFinishLoad(_ webView: UIWebView) { | |
print("webViewDidFinishLoad") | |
} | |
// Called when the Page starts loading. | |
func webViewDidStartLoad(_ webView: UIWebView) { | |
print("webViewDidStartLoad") | |
} | |
} |
Github
https://github.com/calmone/iOS-UIKit-component
Reference