Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active March 30, 2023 17:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KentarouKanno/de5bbdcde6dc9de6ef7d to your computer and use it in GitHub Desktop.
Save KentarouKanno/de5bbdcde6dc9de6ef7d to your computer and use it in GitHub Desktop.
UIWebView

UIWebView

★ UIWebViewのオブジェクト生成

var webView = UIWebView()
    
var webView: UIWebView = UIWebView()

// サイズを指定して生成
var webView = UIWebView(frame: CGRectMake(0, 0, 320, 568))

★ UIWebViewのサイズを設定する

webView.frame = self.view.bounds

★ タイムアウトを設定する

let url = URL(string: contentsPath)!
var request = URLRequest(url: url)
request.timeoutInterval = 15
webViiew.loadRequest(request)

★ デリゲートを設定する

webView.delegate = self

★ ピンチイン/アウトの可否を設定する

// 可能
webView.scalesPageToFit = true

// 不可
webView.scalesPageToFit = false

★ ViewにUIWebViewを追加する

self.view.addSubview(webView)

★ 指定したページを読み込む

// URLを設定する.
let url: NSURL = NSURL(string: "http://www.apple.com")!

// リクエストを作成する.
let request: NSURLRequest = NSURLRequest(URL: url)

webView.loadRequest(request)

★ ページを読み込み中かどうかを取得

var isLoading = webView.loading

// true:読み込み中 false:読み込み中ではない

if (webView.loading) {
    // 読み込み中だった時の処理
}

★ 前のページに戻れるかどうかを取得

var isGoBack = webView.canGoBack

// true:戻れる false:戻れない(戻るページがない)

if (webView.canGoBack) {

    // 前ページに戻る
    webView.goBack()
}

★ 次のページに進めるかどうかを取得

var isGoForward = webView.canGoForward

// true:進める false:進めない(進むページがない)

if (webView.canGoForward) {
            
    // 次のページに進む
    webView.goForward()
}

★ 前のページに戻る

webView.goBack()

★ 次のページに進む

webView.goForward()

★ ページをリロードする

webView.reload()

★ ページの読み込みを中止する

webView.stopLoading()

if (webView.loading) {

    // ロード中の場合に読み込みを中止する
    webView.stopLoading()
}

★ UIWebViewのスクロール可否を設定する

// スクロール可能 Default
webView.scrollView.scrollEnabled = true

// スクロール不可
webView.scrollView.scrollEnabled = false

★ UIWebViewのバウンドの可否を設定する

// バウンド可能 Default
webView.scrollView.bounces = true

// バウンド不可
webView.scrollView.bounces = false

Javascript

// 現在のURLを取得
let nowURL = webView.stringByEvaluatingJavaScriptFromString("document.URL")

// 現在のTitleを取得
let nowTitle = webView.stringByEvaluatingJavaScriptFromString("document.title")

Exsample

★ Bundle内のtxtファイルから取得した文字列をWebViewに表示する

let path = NSBundle.mainBundle().pathForResource("sample", ofType: "txt")
let data = NSFileManager.defaultManager().contentsAtPath(path!)

webView.loadData(data!, MIMEType: "text/plain", textEncodingName: "utf-8", baseURL: NSURL())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment