Swift中WebView的應用

WebView控件是作網絡應用開發中使用最多的控件,直接在WebView內部指定一個網頁地址就能夠訪問網頁了,同時也能夠實現UIWebViewDelegate協議實現相應的方法去控制內容的加載和處理。著名的PhoneGap開發的應用,其外殼重要的組件也是WebView控件。html

        在viewDidLoad方法內添加如下代碼就能夠完成簡單的網頁web

        var webView = UIWebView(frame: CGRectMake(0, 0, 600, 600))網絡

        var url = NSURL(string: "http://www.imoneyfans.com")url

        webView.loadRequest(NSURLRequest(URL: url!))spa

        self.view.addSubview(webView)htm

就像上面加載網頁時用到的loadRequest方法用於加載指定url對象所設定的網頁內容。方法loadHTMLString則用於加載指定的HTML代碼片段。對象

      var html = "<section><img src=\"http://img1.gtimg.com/12/1224/122455/12245555_980x1200_0.jpg\"</section>"blog

      webView.loadHTMLString(html, baseURL: nil)utf-8

loadData也是用於加載指定內容,如將本地的一個html文件轉成NSDATA對象後顯示在WebView上webview

        var file = NSBundle.mainBundle().pathForResource("test", ofType: "html")

        var url = NSURL.fileURLWithPath(file!)

        var data = NSData(contentsOfURL: url!)

        webView.loadData(data, MIMEType: "text/html", textEncodingName: "utf-8", baseURL: nil)

對於檢測網頁的內容是不是可交互的類型,若是點擊網頁上一個Address能夠調出Map,能夠指定要探測的數據類型可選的值有連接(Link)、地址(Address)、電話號碼(PhoneNumber)等,也能夠指定爲All探測全部的類型,在缺省狀態下電話號碼是能夠點擊的,如下是探測電話號碼

webView.dataDetectorTypes = UIDataDetectorTypes.PhoneNumber

還有不少方法,如

webview.reload()

webview.stopLoading()

webview.goBack()

webview.goForward()

若是要實現更高級的功能就要實現UIWebViewDeleage這個協議。

相關文章
相關標籤/搜索