15
我是iOS新手。我想要一個函數,根據常量中指定的內容從本地html資源文件或網頁加載內容。我該怎麼去做呢?例如,如果我將一個文件:// ...傳遞給函數或http:// ...,它應該相應地進行渲染。iOS - 在webview中顯示HTML資源文件或遠程網頁的內容
我是iOS新手。我想要一個函數,根據常量中指定的內容從本地html資源文件或網頁加載內容。我該怎麼去做呢?例如,如果我將一個文件:// ...傳遞給函數或http:// ...,它應該相應地進行渲染。iOS - 在webview中顯示HTML資源文件或遠程網頁的內容
您可以輕鬆地將網頁是這樣的:
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://stackoverflow.com"]] ;
[webView loadRequest:request] ;
對於本地文件,這取決於您的設備上的文件的位置: 用於主要束文件(=您的項目),你可以使用相同的loadRequest 功能,但不同的構建路徑:
NSString *localFilePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"] ;
NSURLRequest *localRequest = [NSURLRequest requestWithURL:
[NSURL fileURLWithPath:localFilePath]] ;
[webView loadRequest:localRequest] ;
,如果要加載一個HTML字符串中的網頁視圖:
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:bundlePath];
NSString *htmlString = [bundlePath pathForResource:@"index" ofType:@"html"] ;
[webView loadHTMLString:htmlString baseURL:baseURL];
,如果你的HTML文件駐留在您的文檔應用程序的文件夾(例如你下載一個html文件):
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask ,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"index.html"];
NSURLRequest *documentsRequest = [NSURLRequest requestWithURL:
[NSURL fileURLWithPath:path]] ;
[webView loadRequest:documentsRequest] ;
感謝詳細的解答! – Suchi 2011-12-20 16:23:48
關於這個問題的最佳答案我到目前爲止看過,謝謝。 – 2012-09-10 08:36:33
如果我的HTML文件引用了一些與HTML文件一起存儲在應用程序中的css文件,該怎麼辦?我如何通過適當的參考訪問所有文件,以便正確顯示我的html頁面? – slonkar 2014-01-03 09:39:53