4

HTML、JavaScript、CSSを知っていますが、PhoneGapやNimblekitなどを使用せずに、HTML5を使用してネイティブ/ハイブリッドのiPhoneアプリを作成したいと考えていました。私はこれまで本物の(Webアプリではない)iPhoneアプリを書いたことがないので、Xcodeについては何も知りません。見つけたチュートリアルでUIWebViewを作成しましたが、Webサイト(apple.com)が表示されます。これをローカルファイル(index.html)で表示するにはどうすればよいですか?

(void)viewDidLoadの下のViewController.mの私のコード:

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

3 に答える 3

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]];
于 2013-03-27T08:44:06.183 に答える
2

Swift 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)
}
于 2016-11-27T15:30:08.887 に答える
0

次のように、プロジェクトバンドルからローカルhtmlファイルをロードできます。

NSURLRequest *requestObj = [NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]];
[myweb loadRequest:requestObj];
于 2013-03-27T08:37:25.917 に答える