2011-12-20 52 views

回答

35

您可以轻松地将网页是这样的:

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] ; 
+0

感谢详细的解答! – Suchi 2011-12-20 16:23:48

+0

关于这个问题的最佳答案我到目前为止看过,谢谢。 – 2012-09-10 08:36:33

+1

如果我的HTML文件引用了一些与HTML文件一起存储在应用程序中的css文件,该怎么办?我如何通过适当的参考访问所有文件,以便正确显示我的html页面? – slonkar 2014-01-03 09:39:53