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