3

我正在使用最新的 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]];
4

2 回答 2

5

如果不将原始的 android 形状定义转换为可以在 UIView 中显示的内容(即笔尖或核心图形绘制指令),就无法做到这一点。

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

我建议你看看像paintcodeapp这样的工具来简化为你的 iOS 项目创建动态图形的过程。(它将导入 SVG 并将它们转换为绘图代码)

例如,如果您需要锚定/拉伸形状而不扭曲关键部分,这非常有用。

于 2013-03-12T11:20:43.390 回答
1

是的,正如@Slomojo 所说,没有办法。

如果可以,您可以将 xml 数据转换为一个UIImage,然后像您UIcolor提到的那样加载该图像

self.backgroundColor =[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:imageName]];
于 2013-03-12T11:25:24.213 回答