2011-12-20 10 views

Respuesta

35

Puede cargar fácilmente páginas web como esta:

NSURLRequest *request = [NSURLRequest requestWithURL: 
    [NSURL URLWithString:@"http://stackoverflow.com"]] ; 

[webView loadRequest:request] ; 

Para los archivos locales de los que depende la ubicación del archivo en el dispositivo: Para los archivos en su principal paquete (= el proyecto), puede utilizar la misma función loadRequest, pero la construcción de la ruta diferente:

NSString *localFilePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"] ; 
NSURLRequest *localRequest = [NSURLRequest requestWithURL: 
    [NSURL fileURLWithPath:localFilePath]] ; 

[webView loadRequest:localRequest] ; 

y si desea cargar un html-cadena en su web View:

NSString *bundlePath = [[NSBundle mainBundle] bundlePath]; 
NSURL *baseURL = [NSURL fileURLWithPath:bundlePath]; 

NSString *htmlString = [bundlePath pathForResource:@"index" ofType:@"html"] ; 
[webView loadHTMLString:htmlString baseURL:baseURL]; 

y si su archivo html reside en los documentos de la carpeta de la aplicación (por ejemplo, un archivo html que ha descargado):

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

Gracias por la respuesta detallada! – Suchi

+0

La mejor respuesta sobre este tema que he visto hasta ahora, gracias. –

+1

¿Qué sucede si mi archivo HTML tiene referencias a algunos archivos css que están almacenados en una aplicación junto con archivos HTML? ¿Cómo accedería a todos esos archivos con la referencia adecuada para mostrar mi página html correctamente? – slonkar

Cuestiones relacionadas