NSTextField上的奇怪字体行为

时间:2012-01-03 13:45:58

标签: macos cocoa nsview nstextfield

我以编程方式将NSTextField添加到我的NSView:

NSTextField *projectLabel = [[NSTextField alloc] initWithFrame:frame];
[projectLabel setStringValue:@"projectName"];
[projectLabel setBezeled:NO];
[projectLabel setDrawsBackground:NO];
[projectLabel setEditable:NO];
[projectLabel setSelectable:NO];

[projectLabel setFont:[NSFont controlContentFontOfSize:13]];
projectLabel.autoresizingMask = NSViewMaxXMargin | NSViewMinYMargin; 

[self addSubview:projectLabel];
[self setAutoresizesSubviews:NO];

此字段已正确添加,但当我更改视图大小(或甚至将窗口移动到第二个显示)时,字段上的字体更改非常奇怪(参见附图)。

开始before
更改大小after后 我不知道我做错了什么

1 个答案:

答案 0 :(得分:1)

  

每当尺寸发生变化时,我都会在drawRect上绘制这个标签。

那么,您是否手动告诉该字段在其父视图中显示drawRect:

不要那样做。这是一个子视图,所以无论如何它都会被告知要画画。只是让它发生。