2013-03-27 107 views
4

我知道HTML,JavaScript,CSS ......但我想使用HTML5製作原生/混合iPhone應用程序,但不使用PhoneGap或Nimblekit之類的東西。 我從來沒有寫過一個真正的(不是網絡應用程序)iPhone應用程序,所以我真的不知道Xcode的任何內容。 我已經做了一個UIWebView與我找到的教程,但它顯示一個網站(apple.com)。 我怎樣才能使這個顯示本地文件(index.html)?Xcode UIWebView本地HTML

我在ViewController.m代碼下(無效)viewDidLoad中:

[super viewDidLoad]; 
    NSString *fullURL = @"html/index.html"; 
    NSURL *url = [NSURL URLWithString:fullURL]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [_viewWeb loadRequest:requestObj]; 

回答

14

你有2種選擇:

直接插入HTML如下:

UIWebView *wv = [[UIWebView alloc] init]; 
[wv loadHTMLString:@"<html><body>YOUR-TEXT-HERE</body></html>" baseURL:nil]; 

負載存在於項目的HTML文件:

UIWebView *wv = [[UIWebView alloc] init]; 
NSURL *htmlFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"] isDirectory:NO]; 
[wv loadRequest:[NSURLRequest requestWithURL:htmlFile]]; 

如果你想你的榜樣工作,然後更換你這個發送的代碼:

[super viewDidLoad]; 
NSURL *htmlFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]]; 
[_viewWeb loadRequest:[NSURLRequest requestWithURL:htmlFile]]; 
+0

謝謝你的答案,但它真的很像我第一次在Xcode中做出一些事情。你能告訴我,我必須替換第二件事嗎? :) – eds1999 2013-03-27 08:51:25

+0

我編輯了我的答案。看看最後一部分。 – 2013-03-27 08:54:33

+0

非常感謝:) – eds1999 2013-03-27 09:02:44

0

你可以從你的項目包加載本地HTML文件如下

NSURLRequest *requestObj = [NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]]; 
[myweb loadRequest:requestObj]; 
1

對於斯威夫特3:

@IBOutlet var webView: UIWebView! 
override func viewDidLoad() { 
super.viewDidLoad() 
let URL = Bundle.main.url(forResource: "file name", withExtension: "html") 
let request = NSURLRequest(url: URL! as URL) 
webView.loadRequest(request as URLRequest) 
}