Interface Builder中大小属性的代码等效项

时间:2011-10-07 20:35:57

标签: cocoa nstablecolumn

我正在动态创建一些NSTableColumn,它们在表格中看起来太高了。在Interface Builder中,有一个通用设置来调整对象大小(迷你,小,常规)。是否有任何相同的代码或我应该手动选择字体?

更新

我发现我可以使用以下字体获取字体:

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

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

哦,我正在建造10.6。

2 个答案:

答案 0 :(得分:2)

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

NSCell *theCell = ...;
[theCell setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]]];
[theCell setControlSize:NSMiniControlSize];

答案 1 :(得分:0)

Apple现在正在为此提供official guide

此处复制了代码段。

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