我是iOS新手。我希望有一个函数从本地html资源文件或网页加载内容,具体取决于常量中指定的内容。我该怎么做呢?例如,如果我将文件:// ...传递给函数或http:// ...,它应该相应地呈现。
答案 0 :(得分: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] ;
如果你想在你的webView中加载一个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] ;