我想用3张照片绘制自己的TextField。
所有图片都包含边框,背景,阴影,只需要用这些图片绘制所需的一切。
但我无法用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宽的背景图像无边框绘制这个和在代码中使角落圆角,并以某种方式绘制甚至边框。但是我仍然想知道如何按照我尝试的方式进行操作,以备将来使用。
答案 0 :(得分:1)
可以有很多方法:
子类NSButton并且如果需要也是子类NSButtonCell并覆盖这些方法
- (void)drawRect:(NSRect)rect {
}
drawText:withFrame:inView:
的drawImage:withFrame:inView: