2011-05-09 20 views
5

¡Hola! ¿Cómo puedo cargar un archivo HTML local guardado en el proyecto en lugar de una página web en este código:¿Cómo puedo cargar un archivo HTML local en lugar de una página web en la vista web de Xcode?

- (void)loadAboutHTML { 
UIWebView *aboutHTML = [[UIWebView alloc] init]; 
NSURL *webURL = [NSURL URLWithString:@"http://apple.com"]; 
NSURLRequest *webURLRequest = [NSURLRequest requestWithURL:webURL]; 
[aboutHTML loadRequest:webURLRequest]; 
[aboutHTML setScalesPageToFit:YES]; 
[aboutHTML setFrame:CGRectMake(0, 0, 320, 416)]; 
[self addSubview:aboutHTML];} 
+2

Debe aceptar la respuesta correcta. – elp

+0

@elpsk votó a favor de todos los que ayudaron, publicó mi propia respuesta basada en todos ellos –

+3

¿A quién responde negativamente la respuesta a la pregunta con el fin de responder a su pregunta con sus respuestas? Simplemente diciendo que probablemente no sea la mejor práctica. –

Respuesta

5

OPCIÓN 1

Utilice esta

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL 

Leer el contenido de la archivo en su proyecto en un NSString. A continuación, utilice el método anterior para cargar el contenido HTML

Uso

+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error 

para obtener la cadena desde el archivo y luego usar

[webView loadHTMLString:urHTMLString baseURL:baseURL]; 

OPCIÓN 2

NSURLRequest *urlReq = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"html"]]]; 
[webView loadRequest:urlReq]; 

ACTUALIZACIÓN

- (void)loadAboutHTML { 
UIWebView *aboutHTML = [[UIWebView alloc] init]; 
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"yourFileName" ofType:@"html"]]]; 
[aboutHTML loadRequest:urlRequest; 
[self addSubview:aboutHTML]; 
} 
+0

@problem child hey guys! muchas gracias pero ninguno de estos métodos funcionó para mí:/ ¿Podría tomar el código que escribí allí y modificarlo para mostrarme cómo se hace? –

+1

Agregue su archivo html al paquete de recursos de proyectos y use este código. – visakh7

13
UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
[web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] 
          pathForResource:@"help" ofType:@"html"]isDirectory:NO]]]; 
web.backgroundColor = [UIColor clearColor]; 

eso es wat que había utilizado

2

html web local

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]                   pathForResource:@"file_name_html" ofType:@"html"] isDirectory:NO]]]; 

web http

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]]; 
2
may be the answer of the solution 

CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 
    applicationFrame.origin.y = 0; 
    webView = [[UIWebView alloc] initWithFrame:applicationFrame]; 
    webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight); 

    NSString *basePath = [[NSBundle mainBundle] bundlePath]; 
    NSURL *baseURL = [NSURL fileURLWithPath:basePath]; 
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 
    NSString *htmlString = [NSString stringWithContentsOfFile:filePath]; 
    if (htmlString) { 
     [webView loadHTMLString:htmlString baseURL:baseURL]; 
    } 

    [self.view addSubview:webView]; 
0
UIWebView *agreementView = [[UIWebView alloc] initWithFrame:CGRectMake(10, newY, 494, 300)]; 
     agreementView.delegate = self; 
     agreementView.dataDetectorTypes = UIDataDetectorTypeNone; 
     [agreementView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"yourfilename" ofType:@"html"]]]]; 
     loadingIndicator=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
     loadingIndicator.frame=CGRectMake(237, 140, 20, 20); 
     loadingIndicator.transform = CGAffineTransformMakeScale(1.55, 1.55); 
     [agreementView addSubview:loadingIndicator]; 
- (void)webViewDidStartLoad:(UIWebView *)webView 
{ 
    loadingIndicator.hidden=NO; 
    [loadingIndicator startAnimating]; 

} 
//delegates 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    loadingIndicator.hidden=YES; 
    [loadingIndicator stopAnimating]; 

} 

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
{ 
    [loadingIndicator stopAnimating]; 
} 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 


    if(UIWebViewNavigationTypeOther == navigationType) 
    { 
    return YES; 
    } 
    return NO; 
} 
Cuestiones relacionadas