Ios7 如何在iOS应用程序中使用svg图像

Ios7 如何在iOS应用程序中使用svg图像,ios7,svg,Ios7,Svg,我想删除ios应用程序中使用的.png文件,并添加.svg文件,而不是那些文件。我想用svg图像作为背景和所有图标、按钮 谢谢是的 IOS safari从3.1版开始就支持svg 据我所知,ios支持使用带有图像标记的svg 即 一般来说,为了与早期浏览器兼容,内联svg应该在类似于下面的xhtml文档中提供 <!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml"><head> <

我想删除ios应用程序中使用的.png文件,并添加.svg文件,而不是那些文件。我想用svg图像作为背景和所有图标、按钮


谢谢

是的

IOS safari从3.1版开始就支持svg

据我所知,ios支持使用带有图像标记的svg


一般来说,为了与早期浏览器兼容,内联svg应该在类似于下面的xhtml文档中提供

 <!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml"><head> 
  <title>Create SVG Elements HTML</title>
  <style type="text/css" media="screen">
    body { background:#eee; margin:0 }
    svg {
      display:block; border:1px solid #ccc; position:absolute;
      top:5%; left:5%; width:90%; height:90%; background:#fff;
    }
    .face { stroke:#000; stroke-width:20px; stroke-linecap:round }
  </style>
</head><body>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="-350 -250 700 500">
    <circle r="200" class="face" fill="red" />
  </svg>
  <script type="text/javascript"><![CDATA[
    var svg  = document.getElementsByTagName('svg')[0];
    var svgNS = svg.getAttribute('xmlns');

    function createOn( root, name, attrs ){
      var el = document.createElementNS(svgNS,name);
      for (var attr in attrs){
        if (attrs.hasOwnProperty(attr)) el.setAttribute(attr,attrs[attr]);
      }
      return root.appendChild(el);
    }

    createOn( svg, 'path', {
      fill:"none", "class":"face", transform:"translate(-396,-230)",
      d:"M487.41,282.411c-15.07,36.137-50.735,61.537-92.333,61.537 \
        c-41.421,0-76.961-25.185-92.142-61.076"
    });
    createOn( svg, 'circle', { cx:-60, cy:-50, r:20, fill:'#000' });
    createOn( svg, 'circle', { cx: 60, cy:-50, r:20, fill:'#000' });
  ]]></script>
</body></html>

创建SVG元素HTML
正文{背景:#eee;边距:0}
svg{
显示:块;边框:1px实心#ccc;位置:绝对;
顶部:5%;左侧:5%;宽度:90%;高度:90%;背景:#fff;
}
.面{笔划:#000;笔划宽度:20px;笔划线帽:圆形}
SVG文件应使用mimi类型“image/SVG+xml”交付,通常在服务器上已配置,但如果服务器的mimi类型不是最新的,则SVG可以使用php包装器交付,以具有正确的mimi类型

<?php
   header("Content-Type: image/svg+xml"); /* my host is to cheap to already support svg */
   include("mysvg.svg");
?>

简而言之:您必须转换为具有特定大小的PDF,Xcode(6+)将在编译时生成相应的@1x、@2x和@3x PNG,从而帮助您。 之所以使用PDF,是因为PDF包含用作@1x png像素大小的大小信息。 目前还没有对它的本地运行时支持,不过我听说有一些库可以做到这一点

看看这个答案:


引用的博客帖子:

我的应用程序是用原生的objective c编写的。我可以将svg用于tht吗?我没有本机OBJECTIVE C中的示例代码,但此url在这方面有更多信息。
<?php
   header("Content-Type: image/svg+xml"); /* my host is to cheap to already support svg */
   include("mysvg.svg");
?>