swift 웹 뷰에 정지, 재로딩, 이전 페이지, 다음페이지 버튼
- 웹 뷰로 간단한 웹 브라우져 만들기 4
웹 브라우저의 기본 기능인 정지. 재로딩, 이전 페이지로 이동, 다음 페이지로 이동을 웹 뷰에 구현 하겠습니다.위치 |
btnLoadHtmlFile 함수아래 |
연결(Connection) |
Action |
이름(Name) |
btnStop |
유형(Type) |
UIBarButtonItem |
위치 | btnStop 함수 아래 |
연결(Connection) | Action |
이름(Name) | btnReload btnGoBack btnGoForword |
유형(Type) | UIBarButtonItem |
@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()
}
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) {
}
@IBAction func btnLoadHtmlFile(_ sender: UIButton) {
}
@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()
}
}
[결과화면]
Site1버튼을 클릭한 후 바로 정지 버튼을 클릭하면 로딩이 중지 됩니다.차례로 재로딩, 이전 페이지, 다음 페이지 실행 결과도 확인할 수 있습니다.