如何在iOS上的UIWebView中创建新的本地HTML文件?

Joe*_*Joe 2 html local uiwebview ios

首先,我想指出我对Web开发非常陌生,并且对iOS开发更加满意,所以请原谅我是否有一些我不理解的基础知识.

我已经看到了如何将HTML文件放入您的apps目录并将其加载到Web视图中(示例).这很棒,但是如何在应用程序中创建新的本地HTML文件?这样用户可以创建一个新的html文件来输入,然后存储它(基本的文档样式app功能).也许有某种Javascript(我不太熟悉这样的Javascript)?

Rob*_*Rob 9

您可以NSString像这样构建HTML :

// get user input

NSString *userText = @"Hello, world!";

// build the HTML

NSString *html = [NSString stringWithFormat:@"<html><body>%@</body><html>", userText];

// build the path where you're going to save the HTML

NSString *docsFolder = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filename = [docsFolder stringByAppendingPathComponent:@"sample.html"];

// save the NSString that contains the HTML to a file

NSError *error;
[html writeToFile:filename atomically:NO encoding:NSUTF8StringEncoding error:&error];
Run Code Online (Sandbox Code Playgroud)

很明显,我只是设置了userText一些字面值,但显然你可以让用户输入它UITextView并从那里抓取它.

然后,您可以将HTML加载到Web视图中,其中包含:

[self.webView loadHTMLString:html baseURL:nil];
Run Code Online (Sandbox Code Playgroud)

或者:

NSURL *url = [NSURL fileURLWithPath:filename];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)