我正在使用最新的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]];
答案 0 :(得分:4)
如果不将原始的Android形状定义转换为可以在UIView中显示的内容(即笔尖或核心图形绘制指令),则无法执行此操作。
据我所知,不存在这样的转换工具。
我建议您查看paintcodeapp之类的工具,以便为iOS项目轻松创建动态图形。 (它将导入SVG并将其转换为绘图代码)
例如,如果您需要在不扭曲关键部件的情况下锚定/拉伸形状,这非常有用。
答案 1 :(得分:1)
是的,@Slomojo说没办法。
如果可以,您可以将xml数据转换为UIImage
,然后将该图像加载为UIcolor
,如上所述
self.backgroundColor =[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:imageName]];