詳解iPhone中預(yù)覽文檔方式
iPhone中預(yù)覽文檔方式是本文要介紹的內(nèi)容,文章末尾給有恩提供代碼。歡迎查看!我們先來呢看內(nèi)容。
在iPhone中可以很方便的預(yù)覽文檔文件,如:pdf、word等等,這篇文章將以PDF為例。介紹三種預(yù)覽PDF的方式,又分別從本地pdf文檔和網(wǎng)絡(luò)上的pdf文檔進(jìn)行對(duì)比。
預(yù)覽本地PDF文檔:
1、使用UIWebView控件
UIWebView是iPhone開發(fā)中最常用的控件之一,類似.net中的webBrowser控件。使用它預(yù)覽PDF文件相當(dāng)?shù)姆奖愫秃唵巍?/p>
在UIWebView中預(yù)覽PDF文檔的關(guān)鍵代碼如下:
效果:
2、使用CLPreviewController
CLPreviewController是比較新的一個(gè)功能,它能快速預(yù)覽文檔,可以一邊加載一邊預(yù)覽,也就是說不需要將文檔全部加載到內(nèi)存中。
使用CLPreviewController預(yù)覽pdf文件,需要實(shí)現(xiàn)一個(gè)委托:QLPreviewControllerDataSource。關(guān)鍵代碼如下:
其中prevoewController返回預(yù)覽文件的地址。
這種方式不僅快,而且還提供了一個(gè)在iphone中打印文檔的功能,如下圖。
3、繪制pdf文檔
apple有個(gè)官方的例子是繪制pdf的。這種方式可以很方便的控制pdf的展現(xiàn)細(xì)節(jié),但是效率不高。
預(yù)覽網(wǎng)絡(luò)上的PDF文檔:
1、使用UIWebView去預(yù)覽網(wǎng)絡(luò)上的PDF文檔,先是將要預(yù)覽的文檔下載iPhone內(nèi)存中,然后預(yù)覽,對(duì)很大的pdf文檔,效率不高,用戶體驗(yàn)也不好。
2、對(duì)于使用prevoewController,因?yàn)樗欠植郊虞d的,不會(huì)一次性加載所有的pdf文檔,用戶體驗(yàn)還不錯(cuò),但是在4.0中多出了一個(gè)打印按鈕,一點(diǎn)擊這個(gè)打印按鈕,程序就掛了,真是杯具。
3、繪制的方式也是需要一次性加載到內(nèi)存,繪制效率不高,對(duì)于大文檔,不應(yīng)當(dāng)使用這種方式。
網(wǎng)絡(luò)大文檔預(yù)覽的解決方案:對(duì)于網(wǎng)絡(luò)上的pdf文檔,比如:電子書(一些電子書是比較大的),建議先下載到本地,然后使用第二種方式去預(yù)覽。
總結(jié):iPhone中預(yù)覽文檔方式的內(nèi)容介紹完了,本文主要介紹了三種預(yù)覽pdf文檔的方式,對(duì)于非pdf文檔也是類似。由于本人接觸iPhone開發(fā)不長,寫的不對(duì)的地方,歡迎大家指正。***希望本文對(duì)你有所幫助!