UIWebView不在SVG中显示图像

时间:2011-03-28 10:42:26

标签: cocoa-touch image uiwebview svg

我有本地HTML文件,我用UIWebView显示。一切都很好,除了嵌入在svg标签中的图像,如:

<body>
    <div>
        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 274 500" preserveAspectRatio="none">
            <image width="274" height="500" xlink:href="cover.jpeg"/>
        </svg>
    </div>
</body>

正常<img>标记工作正常,因此baseURL没有任何问题,并且图像位于同一文件夹中。 HTML文件在Mobile Safari中正常加载。 我已经尝试使用-loadRequest:和-loadString:baseURL:和-loadData:MIMEType:textEncodingName:baseURL加载,但我总是得到一个对应于图像宽度和高度的边框,没有实际图像。

可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

终于解决了这个问题。 DOCTYPE设置为严格的XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

但文件扩展名为html。

将文件扩展名更改为.xhtml解决了问题。