1

我正在NSTableColumn动态创建一些 s,它们在表格中显得太高了。在 Interface Builder 中有一个用于调整对象大小的常规设置(迷你、小、常规)。是否有任何等效的代码,或者我应该手动选择字体?

更新

我发现我可以通过以下方式获取字体:

    NSFont *font = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]];

但是,行高与项目的高度不匹配。在代码中设置字体对行高没有任何影响。我使用NSTextFieldCells 和NSPopUpButtonCells 作为数据单元。

哦,我正在为 10.6 构建。

4

2 回答 2

2

除了改变字体,还需要设置单元格的控件大小。

NSCell *theCell = ...;
[theCell setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]]];
[theCell setControlSize:NSMiniControlSize];
于 2011-10-08T00:07:00.293 回答
0

Apple is now providing an official guide for this.

Here's copied code snippet.

float fontSize = [NSFont systemFontSizeForControlSize:NSMiniControlSize];
NSCell *theCell = [theControl cell];
NSFont *theFont = [NSFont fontWithName:[[theCell font] fontName] size:fontSize];
[theCell setFont:theFont];

[theCell setControlSize:NSMiniControlSize];

[theControl sizeToFit];
于 2014-10-12T11:37:55.743 回答