【问题标题】:iOS - WebView and stringiOS - WebView 和字符串
【发布时间】:2011-11-07 17:29:56
【问题描述】:

我有一个名为 htmlString 的字符串,其中包含一些 html 格式的信息。我需要将这些信息放入加载整个 html 字符串、颜色和字体的 webView 中。我需要知道字符串的高度。我该怎么办?

【问题讨论】:

  • 你想知道字符串高度是什么意思?想知道渲染html后页面有多大?

标签: ios string webview height


【解决方案1】:

你想做这样的事情:

[_webView loadHTMLString:htmlStr
                 baseURL:[NSURL fileURLWithPath:path]];

您可以在此处查看文档:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html

这会将您的 HTML 加载到 webview 中,并使用您提供的路径作为其他文档的根目录。换句话说,您的 html 字符串可以引用其他文件(css、javascript 等),并且 baseURL 用于定位使用相对路径的 url。

编辑:

要获得高度,您可以分配 UIWebView 的委托,因为它有一个 webViewDidFinishLoad: 方法来告诉您何时呈现页面。然后你可以在页面上执行 javascript 来确定最终高度,使用 UIWebView 的方法 - stringByEvaluatingJavaScriptFromString:

这个答案似乎也很相关:How to determine UIWebView height based on content, within a variable height UITableView?

【讨论】:

  • 用户询问如何获取字符串的高度。
  • 这个问题似乎有两个方面。 1.) 如何将 html 字符串加载到 UIWebView 中以加载颜色、字体等... 2.) 如何获取“字符串高度”?你是对的,我只回答了第一部分,但我还不确定他要求第二部分。给定 1.) 字体和 2.) 宽度,您可以计算字符串的高度。但是,这对于 html 字符串没有意义。您必须先渲染它,然后才能确定高度。
  • Andrea,如果这个答案对你没有帮助,我会删除它。我只是认为这至少是您正在寻找的一部分。请说明“字符串高度”是什么意思。我假设您不希望将 html 标签计入字符串高度。您可以查看人们通常使用的 developer.apple.com/library/ios/#documentation/UIKit/Reference/…,但如果您想要呈现的 html 页面的高度,这将不起作用。
  • @James 我修改了我的答案。为您的评论 +1,我只有部分解决方案。
【解决方案2】:

NSString *htmlStrings="

你好我在这里

"; [_webView loadHTMLString:htmlStrings baseURL:[NSURL fileURLWithPath:null]];

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多