在前面, 咱們使用了 UIWebView 加載了網絡的數據, 其實 UIWebView不僅是能夠加載普通的網頁, 還能夠加載其餘不一樣的文件, 好比視頻, 音樂, PDF, Word等等文件都是能夠的, 下面讓咱們來看看~~web
PS: 例子裏的 PDF, Txt, doc 文件請自行準備, 裏面的內容隨便, 只要格式沒有錯誤就ok編程
遵照代理以及實現方法服務器
class ViewController: UIViewController, UIWebViewDelegate {
// 設置一個 WebView 屬性, 供全局使用
var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// 實現自定義 WebView
self.myWebView()
// 使用二進制數據流加載本地數據
self.loadDataFile()
}
}
自定義UIWebViewmarkdown
func myWebView(){
// 初始化 WebView
webView = UIWebView(frame: self.view.bounds)
// 設置代理
webView.delegate = self
// 檢車 WebView 裏顯示的內容, 符合條件就高亮顯示
webView.dataDetectorTypes = UIDataDetectorTypes.All
//添加到 self.view
self.view.addSubview(webView)
}
使用URL加載本地的數據網絡
// 1.使用 URL 請求數據
func loadFile() {
// 1.設置 URL 地址
// 應用場景: 加載從服務器下載的文件, 好比 PDF, 或者word, 圖片等等文件
let path = NSBundle.mainBundle().URLForResource("華爲軟件編程規範總則.doc", withExtension: nil)
// 設置請求 URl
let request = NSURLRequest(URL: path!)
// 發送請求
webView.loadRequest(request)
}
使用二進制數據流加載數據ide
// 2.使用同步請求請求數據
func loadDataFile() {
// 1.設置 URL 地址
// 應用場景: 加載從服務器下載的文件, 好比 PDF, 或者word, 圖片等等文件
let path = NSBundle.mainBundle().URLForResource("華爲軟件編程規範總則.doc", withExtension: nil)
// 2.設置請求 URl
let request = NSURLRequest(URL: path!)
// 3.設置服務器響應對象
var response: NSURLResponse?
// 4.從服務器取出的 NSData 數據
let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: nil)
// 5.發送 NSData 同步數據請求
// 第一個參數是: NSData, 第二個參數是:NSURLResponse, 第三個參數是: UTF8編碼, 第四個參數暫時無需理會
webView.loadData(data, MIMEType: response?.MIMEType, textEncodingName: "UTF8", baseURL: nil)
println(response?.MIMEType)
}
使用HTML請求數據ui
// 3.使用 HTML 請求數據
func loadHTML() {
// 應用場景: 截取網頁中得某一部分顯示
// 例如: 網頁的完整內容中包含廣告! 加載完頁面以後, 把廣告這一部分的 HTML 頁面刪除, 而後再加載
// 不少新聞類的應用都在使用
webView.loadHTMLString("<p>abcef</p>", baseURL: nil)
}
最終效果過於繁瑣, 這裏就不展現了編碼
好了, 此次咱們就講到這裏, 下次咱們繼續~~spa