반응형
ios11 webview
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | // // ViewController.swift // WebView // // Created by MacBookPro on 2017. 11. 22.. // Copyright © 2017년 MacBookPro. All rights reserved. // import UIKit //webviewdelegate 클래스 상속 받기 class ViewController: UIViewController, UIWebViewDelegate { //텍스트필드 - 주소창 @IBOutlet weak var txtUrl: UITextField! //웹 뷰 @IBOutlet weak var myWebView: UIWebView! //인디케이터 아웃렛 변수 @IBOutlet weak var myActivityIndicator: UIActivityIndicatorView! //웹뷰페이지 로드해주는 함수 func loadWebPage(_ url: String){ let myUrl = URL(string: url) let myRequest = URLRequest(url: myUrl!) myWebView.loadRequest(myRequest) } //첫 화면 띄울때 웹뷰페이지 로드하기 override func viewDidLoad() { super.viewDidLoad() myWebView.delegate = self //로딩 뱅글뱅글 돌게하기 loadWebPage("http://www.creativeshake.co.kr") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } //웹뷰 실행될 때 로딩 중 함수 func webViewDidStartLoad(_ webView: UIWebView) { myActivityIndicator.startAnimating() } // 웹뷰 끝나고 종료 함수 func webViewDidFinishLoad(_ webView: UIWebView) { myActivityIndicator.stopAnimating() } //go버튼 눌렀을 때 @IBAction func btnGo(_ sender: UIButton) { let newUrl = checkUrl(txtUrl.text!) txtUrl.text = " " loadWebPage(newUrl) } // 주소 앞에 http 붙었는지 안붙었는지 검사 func checkUrl(_ url: String) -> String { var strUrl = url let flag = strUrl.hasPrefix("https://") if !flag { strUrl = "https://" + strUrl } return strUrl } //site1버튼 눌렀을 때 @IBAction func btnGoSite1(_ sender: UIButton) { loadWebPage("http://abc1211.tistory.com/") } //site2버튼 눌렀을 때 @IBAction func btnGoSite2(_ sender: UIButton) { loadWebPage("https://www.naver.com/") } //html 버튼 눌렀을 때 @IBAction func btnLoadHtmlString(_ sender: UIButton) { let htmlString = "<h1> html string </h1> <p> String 변수를 통한 웹페이지</p> <p><a href=\"https:www.naver.com\">네이버</a>이동</p>" myWebView.loadHTMLString(htmlString, baseURL: nil) } //file버튼 눌렀을 때 @IBAction func btnLoadHtmlFile(_ sender: UIButton) { let myHtmlBundle = Bundle.main let filePath = myHtmlBundle.path(forResource: "htmlView", ofType: "html") loadWebPage(filePath!) } //정지 @IBAction func btnStop(_ sender: UIBarButtonItem) { myWebView.stopLoading() } //화면 고침 @IBAction func btnRefresh(_ sender: UIBarButtonItem) { myWebView.reload() } //뒤로가기 @IBAction func btnBack(_ sender: UIBarButtonItem) { myWebView.goBack() } //앞으로 가기 @IBAction func btnForward(_ sender: UIBarButtonItem) { myWebView.goForward() } } | cs |
팁: ios 9 이상에서는 웹뷰를 사용할때 http 보안때문에 설정을 따로 해줘야 한다.
반응형
'ios 뽀개기 > ios앱' 카테고리의 다른 글
12 ios 스위프트 pageControl (0) | 2017.11.23 |
---|---|
11 mapview (0) | 2017.11.22 |
9 alert 경고창 띄우기 (0) | 2017.11.22 |
8 picker view 응용 (0) | 2017.11.21 |
7 picker view (0) | 2017.11.21 |
댓글