码迷,mamicode.com
首页 > 编程语言 > 详细

Swift中WebView的应用

时间:2015-04-05 17:14:30      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:

WebView控件是做网络应用开发中使用最多的控件,直接在WebView内部指定一个网页地址就可以访问网页了,同时也可以实现UIWebViewDelegate协议实现相应的方法去控制内容的加载和处理。著名的PhoneGap开发的应用,其外壳重要的组件也是WebView控件。

        在viewDidLoad方法内添加以下代码就可以完成简单的网页

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

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

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

        self.view.addSubview(webView)

就像上面加载网页时用到的loadRequest方法用于加载指定url对象所设定的网页内容。方法loadHTMLString则用于加载指定的HTML代码片断。

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

      webView.loadHTMLString(html, baseURL: nil)

loadData也是用于加载指定内容,如将本地的一个html文件转成NSDATA对象后显示在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这个协议。

 

Swift中WebView的应用

标签:

原文地址:http://www.cnblogs.com/foxting/p/4394299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!