【问题标题】:How to insert HTML into a UIWebView如何将 HTML 插入 UIWebView
【发布时间】:2010-04-17 23:01:35
【问题描述】:

我的 HTML 内容显示在 UITextView 中。我的应用程序的下一个迭代是将 HTML 内容显示到 UIWebView 中。所以,我基本上用UIWebView替换了我的UITextView。但是我不知道如何将我的 HTML sn-p 插入到视图中。它似乎需要一个我不想要的URLRequest。我已经将 HTML 内容存储在内存中,并希望从内存中加载并显示它。

任何想法我应该如何进行?

【问题讨论】:

    标签: iphone ipad uiwebview


    【解决方案1】:

    这应该可以解决问题:

    NSString *myHTML = @"<html><body><h1>Hello, world!</h1></body></html>";
    [myUIWebView loadHTMLString:myHTML baseURL:nil];
    

    【讨论】:

    • 此外,HTML 可以包含带有非真实目标的链接,以便本机应用程序可以捕获使用 shouldStartLoadRequest 委托的点击并执行自定义本机代码。例如:-NSString *myHTML = @"&lt;html&gt;&lt;body&gt; &lt;a href='r:'&gt;Record&lt;/a&gt;&lt;br&gt;&lt;br&gt; &lt;a href='s:'&gt;Stop&lt;/a&gt;&lt;br&gt;&lt;br&gt; &lt;a href='p:'&gt;Play&lt;/a&gt;&lt;br&gt;&lt;br&gt; &lt;/body&gt;&lt;html&gt;";
    • - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *URL = [request URL]; if ([[URL scheme] isEqualToString:@"r"]) { [self recordButtonMethod]; return NO; } if ([[URL scheme] isEqualToString:@"s"]) { [self stopButtonMethod]; return NO; } if ([[URL scheme] isEqualToString:@"p"]) { [self playButtonMethod]; return NO; } return YES; }//获取链接点击的方法
    【解决方案2】:
    - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
    

    如果您有任何图像,baseURL 可以是资源文件夹的文件 URL。

    【讨论】:

    • ...如果您的 HTML 不引用外部文件,则只需 nil
    【解决方案3】:

    这个例子展示了我们如何将HTML 变成UIWebView

    func someFunction() {
    
        uiWebView.loadHTMLString("<html><body></body></html>", baseURL: nil)
        uiWebView.delegate = self as? UIWebViewDelegate
    }
    
    func webViewDidFinishLoad(_ webView: UIWebView) {
        //ready to be processed
    }
    

    不要忘记从 UIWebViewDelegate 扩展一个类并 nil 委托

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2011-05-26
      • 2013-02-22
      • 2011-05-23
      • 2011-12-21
      相关资源
      最近更新 更多