ユーザーが無制限の量のHTMLドキュメントを作成し、アプリのドキュメントフォルダーに保存できるiOSアプリを作成しようとしています。これは一種のコンボ質問のようなものですが、ドキュメント辞書にあるファイルを表示するにはどうすればよいですか。
だから私の2つの質問は:
ドキュメント辞書にあるHTMLファイルを表示する方法
と
ユーザーが無制限のフォルダとHTMLファイルを作成できるようにする方法
二重の質問でごめんなさい...
ユーザーが無制限の量のHTMLドキュメントを作成し、アプリのドキュメントフォルダーに保存できるiOSアプリを作成しようとしています。これは一種のコンボ質問のようなものですが、ドキュメント辞書にあるファイルを表示するにはどうすればよいですか。
だから私の2つの質問は:
ドキュメント辞書にあるHTMLファイルを表示する方法
と
ユーザーが無制限のフォルダとHTMLファイルを作成できるようにする方法
二重の質問でごめんなさい...
まず、ドキュメント ディレクトリへのパスを知る必要があります。
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
デバイス ストレージの制限まで、そこにドキュメントとディレクトリを作成できます。ただし、ルート内のファイルのみが iTunes ドキュメント共有に表示されることに注意してください。
したがって、 stringhtmlContent
と stringがあるhtmlFilename
場合は、保存できます。使用しているエンコーディングに注意してください。HTML ヘッダーとメタ タグ (存在する場合) のエンコーディングは、ここで使用されているエンコーディングと一致する必要があります。
NSString *htmlPath = [documentsPath stringByAppendingPathComponent:htmlFilename];
[htmlContent writeToFile:htmlPath atomically:NO encoding:NSUTF8StringEncoding error:nil];
で HTML を表示できますUIWebView
。と呼ばれるものがあると仮定すると、その中に任意のオブジェクトをwebView
表示できます。NSURL
NSURL *stackOverflowAddress = [NSURL URLWithString:@"http://www.stackoverflow.com"];
[[self webView] loadRequest:[NSURLRequest requestWithURL:stackOverflowAddress]];
これには、作成したばかりのファイルを含めることができます。
NSURL *htmlURL = [NSURL fileURLWithPath:htmlPath];
[[self webView] loadRequest:[NSURLRequest requestWithURL:htmlURL]];
または、文字列を直接入れることもできます:
[[self webView] loadHTMLString:htmlContent baseURL:nil];
多くの機能にを使用している場合は、時間をかけてUIWebViewDelegate プロトコル リファレンスUIWebView
を読んでください。
他の URL を開くようにアプリケーションに指示することもできます。通常、これにより Safari が開きます。ただし、Safari はアプリのドキュメント ディレクトリにアクセスできないため、ドキュメントがローカルに保存されている間はドキュメントを表示できません。
[[UIApplication sharedApplication] openURL:stackoverflowAddress];
I'm trying to make an iOS app that allows the user to create an unlimited amount of HTML documents and save them into the documents folder.
HTML files are simply text (as most code-related files are), so of you wish to get it's contents as a string, use NSString's +stringWithContentsOfFile
.
How to allow the user to created unlimited folders and html files
As for writing, so long as you write your string with the path extension .html, it will be a perfectly valid HTML file.
EDIT, the path to the documents directory can be found with
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
How to display HTML file that are in the document dictionary
HTML files may be displayed in UIWebViews see this related question for an example.