使用UIWebView加载本地数据或资源有如下三种方式:
1,使用 loadHTMLString 方法加载HTML内容
2,使用 loadRequest 方法加载本地资源(也可用于加载服务器资源)
3,先将内容保存成 NSData 数据,再使用 loadData 方法加载
使用样例
通过 UISegmentedControl 分别控制网页控件“显示HTML”“显示PDF”“loadData显示PDF”
//
// 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("是不是出错了?")
}
}
}
本文介绍了使用Swift语言通过UIWebView加载本地数据的三种方法:使用loadHTMLString加载HTML字符串;使用loadRequest加载本地资源文件;使用loadData加载NSData数据。并通过一个具体的例子展示了如何根据不同的选择来显示HTML或PDF文件。
809

被折叠的 条评论
为什么被折叠?



