首先,终于有了对iPhone的NinePatch支持,感谢Tortuga 22团队的支持。不幸的是,我无法将他们的库添加到我的项目中。
如果我只是将源文件拖放到我的项目中,我会得到大量的“没有这样的文件或目录” - 错误。如果我将libNinePatch.a文件作为外部框架引用,我会得到相同的结果。
这样做的正确方法是什么?他们没有任何指示,所以我想必须有一个相当直接的方法来做到这一点。
提前致谢。
// Abeansits
答案 0 :(得分:1)
我知道这是一个老问题,但只是为了帮助那些在目标c中搜索ninePatch的人,我想通知ios 5上的UIImage类,有一个方法可以做九个补丁。
<强>讨论强>
您可以使用此方法为图像或添加上限 更改图像的现有上限。在这两种情况下,你得到 返回一个新图像,原始图像保持不变。
在缩放或调整图像大小的过程中,上限覆盖的区域是 没有缩放或调整大小。相反,像素区域未被盖子覆盖 在每个方向上都是平铺,从左到右和从上到下,以调整大小 图片。此技术通常用于创建可变宽度 按钮,保持相同的圆角但其中心区域 根据需要增长或缩小。为获得最佳性能,请使用平铺区域 这是一个1x1像素区域。
可用性适用于iOS 5.0及更高版本。
在UIImage.h中声明
如果您想要具有修复顶部的图像,请使用示例:
UIImage* image = [UIImage imageNamed:@"YourImage.png"];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(25., 0, 0, 0)]
希望有所帮助。
答案 1 :(得分:1)
我只是想告诉大家仍然在努力解决这个问题,我已将podspec上传到CocoaPod的存储库。
这意味着如果您的项目使用CocoaPods(为什么不使用它?),您只需添加:
pod 'Tortuga22-NinePatch'
到你的Podfile,你将获得NinePatch支持。 (注意它仍然不兼容ARC,欢迎拉取请求!)
答案 2 :(得分:0)
您应该能够将文件添加到项目中。 this SO question的答案可能会有所帮助。
另外,请注意UIImage确实提供了可伸缩的图像。有关详细信息,请参阅-stretchableImageWithLeftCapWidth:topCapHeight:。如果您需要以实际的九种补丁格式阅读图像,这可能无法帮助您,可能是为了与Android应用程序共享资源,但这通常都是真正需要的。
答案 3 :(得分:0)
您是否在所需的类或prefix.pch文件中包含主头文件?
答案 4 :(得分:0)
如果你从GitHub下载他们的source package,你会发现他们已经包含了一个示例项目NinePatchDemo。检查这一点应该可以为您提供所需的所有信息。
您会看到他们刚刚将NinePatch Xcode项目放入了“其他来源”下的NinePatchDemo项目中。您可以以相同的方式将NinePatch项目拖放到您自己的项目中。您可以检查构建和目标设置,以确保包含构建所需的任何路径/库。
看起来您希望在目标的其他链接器标记中使用-all_load -ObjC
,如果您的项目文件夹与ninepatch文件夹处于同一级别(如从github下载),您还需要将目标上的标题搜索路径设置为../NinePatch//**
,如果您移动了任何文件夹,则会相应地改变。
除此之外我唯一可以看到的是,您当然需要在#import <TUNinePatch.h>
NinePatchDemo对我来说很好,所以我可以验证它们的来源是否有效。