我正在动态创建一些NSTableColumn
,它们在表格中看起来太高了。在Interface Builder中,有一个通用设置来调整对象大小(迷你,小,常规)。是否有任何相同的代码或我应该手动选择字体?
更新
我发现我可以使用以下字体获取字体:
NSFont *font = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]];
但是,行高与项目的高度不匹配。在代码中设置字体对行高没有任何影响。我使用NSTextFieldCell
和NSPopUpButtonCell
作为数据单元格。
哦,我正在建造10.6。
答案 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];