랭귀지/SWIFT
swift [File] 버튼 구현하기
유키공
2018. 1. 28. 13:30
- 웹 뷰로 간단한 웹 브라우져 만들기 6
html 파일을 프로젝트에 추가하고 [File] 버튼을 클릭하면 이 Html 파일이 웹 뷰에 나타나도록 구현 합니다.
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<H3>HTML FILE</H3>
html 파일을 이용한 웹페이지<BR />
<a href="http://www.todaymart.com">아름다운 미소 블로그</a>로 이동
</body>
</html>
위치 |
btnLoadHtmlString 함수 아래 |
연결(Connection) |
Action |
이름(Name) |
btnLoadHtmlFile |
유형(Type) |
UIButton |
@IBAction func btnLoadHtmlFile(_ sender: UIButton) {
//Bundle에서 main으로 변수를 생성 합니다.
let myHtmlBundle = Bundle.main
//path 함수를 호출합니다.
let filepath = myHtmlBundle.path(forResource: "htmlView", ofType: "html")
//html 파일을 로딩합니다.
loadWebPage(filepath!)
}
import UIKit //webViewDidStartLoad, webViewDidFinishLoad 함수를 //사용하기 위하여 UIWebViewDelegate를 상속 받습니다. class ViewController: UIViewController, UIWebViewDelegate { @IBOutlet weak var txtUrl: UITextField! @IBOutlet weak var myWebView: UIWebView! @IBOutlet weak var myActivityindicator: UIActivityIndicatorView! func loadWebPage(_ url: String) { //상수 myUrl은 url 값을 받아 URL형으로 선언합니다. let myUrl = URL(string: url) //상수 myRequest는 상수 myUrl을 받아 URLRequest형으로 선언합니다. let myRequest = URLRequest(url: myUrl!) //UIWebView형의 myWebView 클래스의 loadRequest 메서드를 호출합니다. myWebView.loadRequest(myRequest) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //myWebView 의 delegate 를 self 로 추가 합니다. myWebView.delegate = self //앱이 처음 나타나면 접속할 웹 페이지 주소를 추가 합니다. loadWebPage("http://www.todaymart.com") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func webViewDidStartLoad(_ webView: UIWebView) { //액티비티 인디케이터 동작을 시작하는 함수 myActivityindicator.startAnimating() } func webViewDidFinishLoad(_ webView: UIWebView) { ////액티비티 인디케이터 동작을 종료하는 함수 myActivityindicator.stopAnimating() } @IBAction func btnGoUrl(_ sender: UIButton) { } //Site1 버튼 클릭하면 이동하는 페이지 @IBAction func btnGoSite1(_ sender: UIButton) { loadWebPage("http://m.naver.com") } //Site2 버튼을 클릭하면 이동하는 페이지 @IBAction func btnGoSite2(_ sender: UIButton) { loadWebPage("http://m.daum.net") } @IBAction func btnLoadHtmlString(_ sender: UIButton) { //html 문을 변수에 저장합니다. let htmlString = "Html String
String 변수를 이용한 웹 페이지
아미(아름다운미소)로 이동" //loadHTML String 함수를 이용하여변수에 저장된 HTML문을 웹 부에 표시합니다. myWebView.loadHTMLString(htmlString, baseURL: nil) } @IBAction func btnLoadHtmlFile(_ sender: UIButton) { //Bundle에서 main으로 변수를 생성 합니다. let myHtmlBundle = Bundle.main //path 함수를 호출합니다. let filepath = myHtmlBundle.path(forResource: "htmlView", ofType: "html") //html 파일을 로딩합니다. loadWebPage(filepath!) } @IBAction func btnStop(_ sender: UIBarButtonItem) { //웹 페이지의 로딩을 중지시키는 함수를 호출합니다. myWebView.stopLoading() } @IBAction func btnReload(_ sender: UIBarButtonItem) { //웹 페이지를 재로딩시키는 함수를 호출합니다. myWebView.reload() } @IBAction func btnGoBack(_ sender: UIBarButtonItem) { //이전 웹 페이지로 이동시키는 함수를 호출합니다. myWebView.goBack() } @IBAction func btnGoForward(_ sender: UIBarButtonItem) { //다음 웹 페이지로 이동시키는 함수를 호출합니다. myWebView.goForward() } }
[결과화면]
[HTML] 버튼을 클릭하면 미리 만들어 놓은 HTML파일의 내용이 적용된 것을 확인할수 있습니다.