2011-10-11 5 views
5

私は、webviewに表示されるhtmlファイルリソースを持つIOSプロジェクトを持っています。これらのhtmlファイルには、webviewでロードしたいフラグメント(index.html#section1、index.html#section2など)に対応するセクションがあります。残念ながら、[NSURL fileURLWithPath:url]を使用するとフラグメントでは動作しません。 #は、URLの%23に変換され、ファイルは見つかりません。 [NSURL URLWithString:url]メソッドを使用すると動作しますが、このメソッドはローカルリソースをロードできません。フラグメントでNSURL fileURLWithPathを使用するにはどうすればよいですか?

webviewにローカルリソースのURLをフラグメントでロードさせる方法はありますか?

+0

http://iphoneincubator.com/blog/data-management/how-to-read-a-file-from-あなたのアプリケーションバンドル – Marios

+0

いいえ、これはあまり役に立ちませんでした。それは不可能と思われる... – Marius

答えて

3

あなたが気づいたように、これはファイルのURLは不可能のようですが、あなたは気にしない場合は、回避策を使用することができます

[webView stringByEvaluatingJavaScriptFromString:@"window.location.hash = '#section2';"]; 
+0

それは可能な、thomaxはそれを行う正しい方法を説明しました。 – Matjan

3

Appleがために、ナビゲーションのこの種を意図どのように明白ではありませんトリガーされた。それを行うにはいくつかの方法がありますが、これは私のトリックです:

NSURL *url = [NSURL fileURLWithPath:@"/full/path/to/index.html"]; 
NSString *fragment = @"#section1"; 
url = [NSURL URLWithString:fragment relativeToURL:url]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:request]; 
関連する問題