android - iPhone 有 9-patch 加载器吗?

标签 android iphone graphics uiimage nine-patch

Android 有一种定义可拉伸(stretch)图像的好方法,称为九补丁。见 these docs对概念的描述。这个想法是用 1 像素边框围绕 png 图像,您可以在其中定义图像的可拉伸(stretch)区域和填充尺寸。这绝对是绝妙的,我想在我的 iPhone 应用程序中使用这个想法。在为 UIImage 加载器编写我自己的 9-patch 之前,我想我会看看是否已经存在一个。谷歌不返回任何结果,所以我不抱太大希望,但问也无妨,对吧? :-)

编辑:伙计们,我很欣赏这些答案,但我知道 stretchableImageWithLeftCapWidth...。我正在寻找采用路径 @"foo.9.png" 并返回可拉伸(stretch) UIImage 的代码。这段代码无疑会在内部使用 stretchableImageWithLeftCapWidth...。我确信我可以使用该方法自己编写代码。但我问的是其他人是否已经这样做了。

最佳答案

我收到了一封来自 Tortuga22 软件的电子邮件,他们告诉我他们已经创建了这样一个库并在 Apache 许可下发布了它:

公告:http://blog.tortuga22.com/2010/05/31/announcing-tortuga-22-ninepatch/

源代码:http://github.com/tortuga22/Tortuga22-NinePatch

示例用法:

// loads-and-caches ninepatch and rendered image of requested size
UIImage buttonImg = [TUNinePatchCache imageOfSize:buttonSize 
                                forNinePatchNamed:@"buttonNormalBackground"];
[self.buttonNeedingBackground setImage:buttonImg
                       forControlState:UIControlStateNormal];

关于android - iPhone 有 9-patch 加载器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1134825/

相关文章:

android - 空对象引用上的 Firebase firestore .QuerySnapshot.getDocumentChanges()'

安卓蓝牙 BLE onDescriptorWrite GATT_INSUFFICIENT_AUTHENTICATION

android - 如何共享音频文件

ios - iphone X 最大加速度计和陀螺仪频率

ios - 如何快速删除导航栏的边框?

java - 从 java 代码启动 javaFX 应用程序

Android SurfaceView,已调用 OnDraw 但显示不会在没有 invalidate() 的情况下更新

android - 如何使用 appcompat v7 创建卡片工具栏

graphics - 如何以编程方式绘制组织结构图?

iphone - 如何使我的 iPhone 应用程序与 iOS 4 兼容?