我正在尝试制作一个 iOS 应用程序,允许用户创建无限量的 HTML 文档并将它们保存到应用程序的文档文件夹中。这有点像一个组合问题,但我如何显示文档字典中的文件。
所以我的两个问题是:
如何显示文档字典中的 HTML 文件
和
如何允许用户创建无限的文件夹和 html 文件
对不起,双重问题...
我正在尝试制作一个 iOS 应用程序,允许用户创建无限量的 HTML 文档并将它们保存到应用程序的文档文件夹中。这有点像一个组合问题,但我如何显示文档字典中的文件。
所以我的两个问题是:
如何显示文档字典中的 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];
您可以在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];
如果您UIWebView
在很多功能中使用 a,请花时间阅读UIWebViewDelegate 协议参考。
也可以告诉您的应用程序在其他地方打开 URL。这通常会导致 Safari 打开。但是,由于 Safari 无法访问您的应用程序的文档目录,因此当文档保存在本地时,它无法显示文档。
[[UIApplication sharedApplication] openURL:stackoverflowAddress];
我正在尝试制作一个 iOS 应用程序,允许用户创建无限量的 HTML 文档并将它们保存到文档文件夹中。
HTML 文件只是文本(就像大多数与代码相关的文件一样),因此您希望将其内容作为字符串获取,请使用 NSString 的+stringWithContentsOfFile
.
如何允许用户创建无限的文件夹和 html 文件
至于写作,只要你用路径扩展名.html编写你的字符串,它将是一个完全有效的HTML文件。
编辑,可以找到文档目录的路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
如何显示文档字典中的 HTML 文件
HTML 文件可能会显示在 UIWebViews 中,请参阅此相关问题以获取示例。