2011-12-20 42 views
15

Tôi là người mới sử dụng iOS. Tôi muốn có một chức năng tải nội dung từ một tệp tài nguyên html cục bộ hoặc một trang web tùy thuộc vào những gì được chỉ định trong một hằng số. Tôi sẽ làm thế nào? Ví dụ: nếu tôi chuyển một tệp: // ... vào hàm hoặc http: // ..., nó sẽ hiển thị tương ứng.iOS - hiển thị nội dung từ tệp tài nguyên html hoặc trang web từ xa trong chế độ xem web

Trả lời

35

Bạn có thể dễ dàng tải các trang web như thế này:

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

[webView loadRequest:request] ; 

Đối với tập tin địa phương nó phụ thuộc vào vị trí của các tập tin trên thiết bị của bạn: Đối với tập tin trong chính-bó của bạn (= dự án của bạn), bạn có thể sử dụng cùng một chức năng loadRequest, nhưng xây dựng các con đường khác nhau:

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

[webView loadRequest:localRequest] ; 

và nếu bạn muốn tải một html chuỗi trong WebView của bạn:

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

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

và nếu html-file của bạn nằm trong tài liệu của bạn thư mục của ứng dụng của bạn (ví dụ như một html-file bạn đã tải về):

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

Cảm ơn cho câu trả lời chi tiết! – Suchi

+0

Câu trả lời hay nhất về chủ đề này tôi đã thấy cho đến nay, cảm ơn bạn. –

+1

Điều gì sẽ xảy ra nếu tệp HTML của tôi có tham chiếu đến một số tệp css được lưu trữ trong ứng dụng cùng với tệp HTML? Làm cách nào để truy cập vào tất cả các tệp có tham chiếu thích hợp để hiển thị trang html của tôi một cách chính xác? – slonkar

Các vấn đề liên quan