我想用 3 张图片绘制我自己的 TextField。
- input_l.png - 输入的左侧
- input_m.png - 输入的中间部分 - 1px 宽 - 应该拉伸或相乘以填充中间部分
- input_r.png - 右侧
所有图像都包含边框、背景、阴影,只是我需要用这些图片绘制它的所有内容。
但是我无法使用 NSTextField 的子类和这些方法来绘制它:
- (void)awakeFromNib
{
[self setDrawsBackground:NO];
}
- (void)drawRect:(NSRect)rect
{
NSDrawThreePartImage(rect, [NSImage imageNamed:@"input_l.png"], [NSImage imageNamed:@"input_m.png"], [NSImage imageNamed:@"input_r.png"], NO, NSCompositeSourceOut, 1.0, NO);
[super drawRect:rect];
}
它使用文本/占位符绘制黑色背景。
这就是它应该看起来的样子: http ://d.pr/i/VLEN
如果还有其他更好的方法来绘制这个,请告诉我 :) 我突然想到我可以使用 1px 宽的没有边框的背景图像来绘制这个,并且在代码中使角变圆并以某种方式绘制甚至边框。但是,我仍然想知道如何按照我尝试的方式进行操作,以备将来使用。