我有一个NSTextField
,我希望一个符号总是出现在最左边,文本字段的内容从它的右边开始。例如,您可以想象一个文本字段在最左侧带有一个美元符号 ($) 前缀。可以在它上面添加一个标签,然后子类NSTextFieldCell
添加左填充,我已经完成了,但是我需要在不同的位置重用这个文本字段,所以如果可能的话,我宁愿直接在NSTextFieldCell
子类中绘制符号。我注意到了这个drawWithFrame:inView:
方法,这个绘图代码应该放在哪里?如果是这样,如何在该框架中正确绘制标签?
问问题
525 次
1 回答
1
您可以在 drawWithFrame:inView: 内进行绘图。在你的绘图修改矩形之前调用“[super drawWithFrame].like
-(void)drawWithFrame:(NSRect)rect inView:(NSView*)view
{
NSString *str = @"$";
NSRect someRect;//string draw rect
[str drawInRect:someRect withAttributes:nil];
rect.origin.x += someRect.size.width;
rect.size.width -= someRect.size.width;
[super drawWithFrame:rect inView:view];
}
于 2015-03-20T20:09:10.483 回答