Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 라즈베리파이
- python
- 유니티
- MS-SQL
- port
- 함수
- ASP
- tensorflow
- 날짜
- Excel
- mssql
- IOS
- GIT
- urllib
- swift
- javascript
- 리눅스
- Unity
- 맛집
- ubuntu
- MySQL
- PyQt
- pandas
- sqlite
- 다이어트
- Linux
- node.js
- PyQt5
- PER
- flutter
Archives
아미(아름다운미소)
'http://' 문자열 자동 삽입 본문
- 웹 뷰로 간단한 웹 브라우져 만들기 7
프로토콜이 있는지를 검사하고 없을 경우 'http://' 문자열을 자동으로 추가하는 함수를 만들어 보겠습니다.
func checkUrl(_ url: String) -> String {
//입력받은 url스트링을 임시 변수 strUrl에 넣습니다.
var strUrl = url
//"http://"를 가지고 있는지 확인한 값을 flag에 넣습니다.
let flag = strUrl.hasPrefix("http://")
//"http://"를 가지고 있지 않다면, 즉 '!flag'일 때 변수 strUrl에 "http://"를 추가하고 이를 리턴합니다.
if !flag {
strUrl = "http://" + strUrl
}
return strUrl
}
@IBAction func btnGoUrl(_ sender: UIButton) {
let myUrl = checkUrl(txtUrl.text!)
txtUrl.text = " "
loadWebPage(myUrl)
}
위치 |
checkUrl 함수아래 |
연결(Connection) |
Action |
이름(Name) |
btnGoUrl |
유형(Type) |
UIButton |
import UIKit
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
//앱이 처음 나타나면 접속할 웹 페이지 주소를 추가 합니다.
loadWebPage("http://www.todaymart.com")
}
func webViewDidStartLoad(_ webView: UIWebView) {
myActivityindicator.startAnimating()
}
func webViewDidFinishLoad(_ webView: UIWebView) {
myActivityindicator.stopAnimating()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func checkUrl(_ url: String) -> String {
//입력받은 url스트링을 임시 변수 strUrl에 넣습니다.
var strUrl = url
//"http://"를 가지고 있는지 확인한 값을 flag에 넣습니다.
let flag = strUrl.hasPrefix("http://")
//"http://"를 가지고 있지 않다면, 즉 '!flag'일 때 변수 strUrl에 "http://"를 추가하고 이를 리턴합니다.
if !flag {
strUrl = "http://" + strUrl
}
return strUrl
}
@IBAction func btnGoUrl(_ sender: UIButton) {
let myUrl = checkUrl(txtUrl.text!)
txtUrl.text = " "
loadWebPage(myUrl)
}
//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()
}
}
[결과화면]
주소창에 http:// 없이 www.todaymart.com을 입력 후 [Go] 버튼을 클릭해도 웹 뷰가 해당 주소로 이동하는 것을 확인할 수 있습니다.
'랭귀지 > SWIFT' 카테고리의 다른 글
| swift 맵 뷰로 지도 나타내기2(위도와 경도로 원하는 위치 표시하기) (0) | 2018.01.31 |
|---|---|
| swift 맵 뷰로 지도 나타내기1(Map Kit View 추가) (0) | 2018.01.30 |
| swift [File] 버튼 구현하기 (0) | 2018.01.28 |
| swift [html] 버튼 구현하기 (0) | 2018.01.27 |
| swift 웹 뷰에 정지, 재로딩, 이전 페이지, 다음페이지 버튼 (0) | 2018.01.25 |
Comments