NSTextField custom background, border and corners
我想用3张图片绘制自己的TextField。
所有图像都包含边框,背景,阴影,仅是我需要用这些图片绘制的所有内容。
但是我无法使用NSTextField的子类和以下方法来绘制它:
1 2 3 4 5 6 7 8 9 10 11 | - (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宽的背景图像(没有边框)来绘制此图形,并在代码中使圆角变圆并以某种方式绘制均匀的边框。但是,我仍然想知道如何以尝试的方式进行操作,以备将来使用。
可以有很多方法可以做:
子类NSButton,如果需要,还子类NSButtonCell并覆盖这些方法
-(void)drawRect:(NSRect)rect {
} ??
drawText:withFrame:inView:
drawImage:withFrame:inView:。