5

首先,终于有了对 iPhone 的 NinePatch 支持,非常感谢 Tortuga 22 团队。对我来说不幸的是,我无法将他们的库添加到我的项目中。

如果我只是将源文件拖放到我的项目中,我会收到大量“没有这样的文件或目录”错误。如果我将 libNinePatch.a 文件作为外部框架引用,我会得到相同的结果。

这样做的正确方法是什么?他们没有任何指示,所以我想必须有一种相当直接的方法来做到这一点。

提前致谢。
//Abeansits

4

5 回答 5

1

我只想告诉还在为此苦苦挣扎的每个人,我已经将一个 podspec 上传到 CocoaPod 的存储库。

这意味着如果您的项目使用 CocoaPods(为什么不使用呢?),您只需添加:

pod 'Tortuga22-NinePatch'

到您的 Podfile,您将获得 NinePatch 支持。(注意它仍然不兼容 ARC,欢迎请求请求!)

于 2014-02-05T15:37:01.483 回答
1

我知道这是一个老问题,但只是为了帮助那些在目标 c 中搜索 NinePatch 的人,我想通知从 ios 5 开始的 UIImage 类,有一种方法可以做 NinePatch 所做的事情。

UIImage 参考

讨论

您可以使用此方法将大写插图添加到图像或更改图像的现有大写插图。在这两种情况下,您都会返回一个新图像,而原始图像保持不变。

在图像的缩放或调整大小期间,被帽子覆盖的区域不会被缩放或调整大小。相反,每个方向上未被帽覆盖的像素区域从左到右和从上到下平铺,以调整图像大小。这种技术通常用于创建可变宽度按钮,这些按钮保留相同的圆角,但其中心区域会根据需要增大或缩小。为获得最佳性能,请使用大小为 1x1 像素区域的平铺区域。

可用性 适用于 iOS 5.0 及更高版本。

在 UIImage.h 中声明

如果您想要带有固定顶部的图像,则使用示例:

UIImage* image = [UIImage imageNamed:@"YourImage.png"];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(25., 0, 0, 0)]

希望它有所帮助。

于 2012-08-28T21:46:30.263 回答
0

如果您从 GitHub 下载他们的源代码包,您会看到他们包含了一个示例项目 NinePatchDemo。检查这应该为您提供所需的所有信息。

您会看到他们刚刚将 NinePatch Xcode 项目放到了 NinePatchDemo 项目中,位于“Other Sources”下。您可以以相同的方式将 NinePatch 项目拖放到您自己的项目中。您可以检查构建和目标设置,以确保包含构建所需的任何路径/库。

看起来您想要-all_load -ObjC目标的其他链接器标志,如果您的项目文件夹与 Ninepatch 文件夹处于同一级别(如从 github 下载),您还需要在目标上设置标头搜索路径到../NinePatch//**,如果您移动了任何文件夹,则会相应地变化。

除此之外,我唯一能看到的是,您当然需要包含标题#import <TUNinePatch.h>

NinePatchDemo 对我来说构建得很好,所以我可以验证他们的源代码是否有效。

于 2011-07-10T19:09:55.707 回答
0

您应该能够将文件添加到您的项目中。这个 SO question的答案可能会有所帮助。

另外,请注意 UIImage 确实提供了可拉伸的图像。有关详细信息,请参阅-stretchableImageWithLeftCapWidth:topCapHeight:。如果您需要以实际的九个补丁格式读取图像,这对您没有帮助,也许是为了与 Android 应用程序共享资源,但这通常是真正需要的。

于 2011-07-05T15:52:03.833 回答
0

您是在需要它们的任何类中或在 prefix.pch 文件中#include-ing 主头文件吗?

于 2011-07-06T23:51:37.510 回答