在開發的過程中,有時候需要載入一些 html 頁面,對於不太複雜的介面,基本上都可以放到本地用 uiwebview 來載入,但是在開發過程中會碰到 uiwebview 載入出來的 html 頁面沒有和 css 樣式
載入出來的效果如下圖:
出現這種問題一般是資源路徑讀取的問題,我們把包含 html 檔案的資料夾拖入工程的時候一般情況下是這樣的:
一般情況下我們的 added folders 選項都是選的 create groups 選項,工程中被加入的資料夾是黃顏色的
全部替換為這種樣式,不用寫路徑了
href="min.css"
src="qq.gif"
**如下:
nsstring *path = [[nsbundle mainbundle] pathforresource:@"index" oftype:@"html"];
nsstring *htmlstring = [nsstring stringwithcontentsoffile:path encoding:nsutf8stringencoding error:nil]; nsstring *basepath = [[nsbundle mainbundle] bundlepath]; nsurl *baseurl = [nsurl fileurlwithpath:basepath]; [self.webview loadhtmlstring:htmlstring baseurl:baseurl];
這樣工作量是很大的,還有一種辦法就是在選擇 added folders 選項時選擇 create folder references
這時加入工程的資料夾是藍顏色的
這樣,就可以正確的載入出我們想要的效果了
**如下:
uiwebview *webview = [[uiwebview alloc] initwithframe:self.view.bounds]; webview.autoresizingmask = uiviewautoresizingflexibleheight | uiviewautoresizingflexiblewidth; webview.scrollview.bounces = no; webview.delegate = self; [webview loadrequest:[nsurlrequest requestwithurl:[nsurl fileurlwithpath:[[nsbundle mainbundle] pathforresource:@"movie-item" oftype:@"html" indirectory:@"web/movie"]]]]; [self.view addsubview:webview];
這時需要注意 html 檔案路徑要寫正確。 iOS 開發之懶載入
懶載入,其實就是延時載入。它將物件的建立延遲到了需要物件的時候,這樣就減少了記憶體開銷,但是會降低效率。其實,對於 oc 來說。懶載入就是利用 property 的特性,為屬性生成 get 和 set 方法,懶載入就是呼叫它的 get 方法。如果不重寫它的 get 方法的話,它會報錯,原因是呼叫如下...
iOS載入本地HTML
目標 讀取本地的html檔案來展示h5頁面。ios8以後,蘋果推出了新框架webkit。所以分別用uiwebview和wkwebview來實現看看。以下僅當html檔案的檔名為index.html。webview除錯方法是在模擬器顯示webview之後,開啟safari的 開發 tab的simula...
IOS學習 無storyboard開發
這其實是個挺有意思的內容,廢話不多說,進入正題 然後就會看到xcode為我們建立了如下檔案。這裡我們直接吧兩個帶有storyboard字尾的檔案delete掉,然後執行 當然這裡是會報 修改其中乙個函式如下 self.window uiwindow alloc initwithframe uiscr...