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这个协议。

相关文章
相关标签/搜索