在NSTextField中绘制固定符号



我有一个NSTextField,我希望一个符号总是出现在最左边,文本字段的内容从它的右边开始。例如,你可以想象一个在最左边前缀为美元符号($)的文本字段。可以在上面添加一个标签,然后子类NSTextFieldCell来添加左填充,我已经这样做了,但我需要在不同的位置重用这个文本字段,所以如果可能的话,我更喜欢直接在NSTextFieldCell子类中绘制符号。我注意到了drawWithFrame:inView:方法,这就是这个绘图代码应该放在哪里?如果是这样,如何在该框架中正确地绘制标签?

您可以在drawWithFrame:inView:中绘制。绘图后,在调用"[super-drawWithFrame]"之前修改矩形。像

-(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];
}

相关内容

  • 没有找到相关文章

最新更新