2011-05-09 23 views
5

Hey! içeriğini okuyunXcode web görünümünde bir web sayfası yerine yerel bir HTML dosyasını nasıl yükleyebilirim?

- (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

Doğru cevabı kabul etmeniz gerekiyor. – elp

+0

@elpsk tüm yardımseverleri destekledi, hepsine dayanarak kendi cevabımı yayınladı –

+3

Sorunun cevabını veren kişi, kendi sorunuzu cevaplarıyla kendi sorunun cevabını verebilmek için, karşı çıkmaktan caydırıyor mu? Sadece muhtemelen en iyi uygulama olmadığını söylüyor. –

cevap

5

SEÇENEK 1

bunu kullanın

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

: nasıl yerine bu kodda bir web sayfasının projeye kaydedilen yerel bir html dosyası yükleyebilirsiniz Projenizde bir NSString numaralı dosyaya gidin. Daha sonra dosyadan dize elde edilir ve daha sonra kullanmak için HTML içeriğini

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

kullanımlar

yüklemek için yukarıdaki metodu kullanabilir

[webView loadHTMLString:urHTMLString baseURL:baseURL]; 

Seçenek 2

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

UPDATE

- (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 çocuk hey çocuklar! Çok çok teşekkür ederim ama bu yöntemlerin hiçbiri benim için çalışmamıştı:/ Belki de oraya yazdığım kodu alabilir miyim ve nasıl yapıldığını göstermek için değiştirebilir misin? –

+1

html dosyanızı proje kaynakları kümesine ekleyin ve bu kodu kullanın. – 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]; 

şu wat i kullanmıştı

2

yerel web html

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

http web

[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; 
} 
İlgili konular