使用UIWebView加载本地数据或资源有以下三种方式:
1,使用 loadHTMLString
方法加载HTML内容
2,使用 loadRequest
方法加载本地资源(也可用于加载服务器资源)
3,先将内容保存成 NSData 数据,再使用 loadData 方法加载html
使用样例
经过 UISegmentedControl
分别控制网页控件“显示HTML”“显示PDF”“loadData显示PDF”
java
//
// ViewController.swift
// Swift - 网页控件(UIWebView)加载本地数据,文件
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var webview: UIWebView!
@IBOutlet weak var loadtype: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
// 默认选中了分段控件的第一项
loadtype.selectedSegmentIndex = 0
typeChanged(loadtype)
}
/** 点击了分段控件 */
@IBAction func typeChanged(sender: UISegmentedControl) {
let index = sender.selectedSegmentIndex
print(index)
switch index {
case 0: // 在UIWebView中显示HTML内容
let html = "<h1>欢迎光临:<a href='http://qq.com'>qq.com</a></h1>"
webview.loadHTMLString(html, baseURL: nil)
case 1: // 在UIWebView中显示PDF内容
let path = NSBundle.mainBundle().pathForResource("test1", ofType: "pdf")
let urlStr = NSURL.fileURLWithPath(path!)
print(urlStr)
webview.loadRequest(NSURLRequest(URL: urlStr))
case 2: // 在UIWebView中显示PDF,可是是经过loadData方式加载
let path = NSBundle.mainBundle().pathForResource("test1", ofType: "pdf")
let urlStr = NSURL.fileURLWithPath(path!)
let data = NSData(contentsOfURL: urlStr)
webview.loadData(data!, MIMEType: "application/pdf", textEncodingName: "utf-8", baseURL:NSURL())
default:
print("是否是出错了?")
}
}
}