【问题标题】:Code equivalent for size property in Interface BuilderInterface Builder 中 size 属性的等效代码
【发布时间】:2014-10-12 19:37:55
【问题描述】:

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

更新

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

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

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

哦,我正在为 10.6 构建。

【问题讨论】:

    标签: cocoa nstablecolumn


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      Apple 现在为此提供official guide

      这里是复制的代码 sn-p。

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

      【讨论】:

        猜你喜欢
        • 2019-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多