2

NSView

我在将我的 NSTextFields 定位在我的视图中时遇到问题,所以我希望你们能帮助我。我有这个 NSView *theView ,[theView setFrame:NSMakeRect(10, 10, 64, 64)];它可以将视图准确地定位在我想要的位置。

但是现在我正在尝试将 NSTextField 作为 subView 添加到 theView 但有些不对劲。现在上面的图像应该是这样的。

这是我的代码和它的样子:

primaryDigit = [[NSTextField alloc] init];
[primaryDigit setFrame:NSMakeRect(4, 6, 60, 58)];
[primaryDigit setFont:[NSFont fontWithName:@"Helvetica Neue" size:55]];
[primaryDigit setBezeled:NO];
[primaryDigit setEditable:NO];
[primaryDigit setSelectable:NO];
[primaryDigit setDrawsBackground:NO];
[primaryDigit setTextColor:[NSColor whiteColor]];
[primaryDigit setStringValue:@"2"];
[self addSubview:primaryDigit];

错误的

当我这样做时[primaryDigit setFrame:NSMakeRect(0, 0, 64, 64)];,数字不会出现在左下角,但它会这样做:

奇怪的

关于定位这些视图,是否有一些我不理解的基本内容?我是个菜鸟,但我仍然认为我理解这一点。(顺便说一句,这些图像中的字体不同,但我认为这不会造成问题?)

更新:正如 'dasdom' 要求的那样,这是带有背景颜色的文本字段 背景颜色

4

1 回答 1

1

好的,我发现了问题所在。

NSTextFields 中的文本需要围绕它们的“空间”。因此,当他们有文本时,它们不会出现在视图的左下角,而是距离它有点远。

这也意味着如果 NSTextFields 没有足够大的框架,那么文本可能会被截断。

这里有一个例子:二

“2”上方的所有红色空间都必须在那里,否则数字将移出框架并在底部被切断。

于 2012-06-29T14:20:00.880 回答