在iOS应用程序上使用android shape xml资源

时间:2013-03-12 11:17:32

标签: iphone ios objective-c xml image

我正在使用最新的SDK开发iOS应用程序。

我从我做过的Android应用中获得了这个资源:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gauge_background">

     <gradient
                android:startColor="#449def"
                android:endColor="#2f6699"
                android:angle="270" />

     <stroke
         android:width="1dp"
         android:color="#2f6699" />

     <corners android:radius="30dp" />

     <padding
         android:bottom="10dp"
         android:left="10dp"
         android:right="10dp"
         android:top="10dp" />
</shape>

并希望在我的iOS应用中使用它。

您知道是否有办法加载此xml并将其显示为UIView backgroundColor?

这样的事情:

self.backgroundColor =
    [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:imageName]];

2 个答案:

答案 0 :(得分:4)

如果不将原始的Android形状定义转换为可以在UIView中显示的内容(即笔尖或核心图形绘制指令),则无法执行此操作。

据我所知,不存在这样的转换工具。

我建议您查看paintcodeapp之类的工具,以便为iOS项目轻松创建动态图形。 (它将导入SVG并将其转换为绘图代码)

例如,如果您需要在不扭曲关键部件的情况下锚定/拉伸形状,这非常有用。

答案 1 :(得分:1)

是的,@Slomojo说没办法。

如果可以,您可以将xml数据转换为UIImage,然后将该图像加载为UIcolor,如上所述

self.backgroundColor =[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:imageName]];