使用Cocoa平铺9个以上的图像

时间:2010-03-30 19:07:30

标签: cocoa image tiles

我想在drawRect:中绘制15张图片,但我发现的最大值是NSDrawNinePartImage()我想要4个角,上/下填充,以及它们之间的3行(两个边填充和一个中心填充) )

这里推荐什么? NinePart + 2 * ThreePart?或其他什么?

1 个答案:

答案 0 :(得分:1)

NSDrawNinePartImage用于绘制一个单独的东西,分为九个对齐的部分,如tic-tac-toe / noughts-and-crosses board。

主要用例是圆角矩形UI元素,例如按钮。你有四个固定尺寸的角落,四个单轴可伸展的侧面和一个双轴拉伸中心。

这与你所描述的不符。三个中心栏?

如果两个额外的列应固定为水平尺寸,则将每个端部的图像放在一起,每个角落和每侧。然后照常使用NSDrawNinePartImage

如果两个额外的列是中心列的一部分,因此应该是水平可伸缩的,那么我建议你在NSCustomImageRep子类中使用NSDrawThreePartImage,并为三个中心的每一个使用该子类的实例 - 列部分图像。然后照常使用NSDrawNinePartImage

(如果需要,可以在前三段中将“行”替换为“列”和“垂直”替换为“水平”。)