我想在 drawRect:
中绘制 15 个图像,但我能找到的最大图像是 NSDrawNinePartImage()
我想要 4 个角、顶部/底部填充以及之间的 3 行它们(两个侧面填充和一个中心填充)
这里推荐什么?九部分 + 2 * 三部分?还是别的什么?
最佳答案
NSDrawNinePartImage
用于绘制一个被分成九个对齐部分的单个物体,如井字游戏/圈和十字棋盘。
其主要用例是圆角矩形 UI 元素,例如按钮。您将有四个固定大小的角、四个可单轴拉伸(stretch)的边和一个可双轴拉伸(stretch)的中心。
这与你所描述的不符。三个中心柱?
如果两个额外的列应固定在水平尺寸上,则将每一端的图像放在每个角和每边的单个图像中。然后照常使用 NSDrawNinePartImage
。
如果两个额外的列是中心列的一部分,因此应该是水平可拉伸(stretch)的,那么我建议您在 NSCustomImageRep 子类中使用 NSDrawThreePartImage
,并为每个列使用该子类的实例三个中心柱部分图像。然后照常使用 NSDrawNinePartImage
。
(如果需要,可以在前三段中用“行”代替“列”,用“垂直”代替“水平”。)
关于cocoa - 使用 Cocoa 平铺 9 个以上图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547935/