Эквивалент кода для свойства размера в Интерфейсном Разработчике - PullRequest
1 голос
/ 08 октября 2011

Я создаю несколько NSTableColumn динамически, и они кажутся слишком высокими в таблице.В Интерфейсном Разработчике есть общая настройка для настройки размера объекта (мини, маленький, обычный).Есть ли какой-нибудь эквивалентный код для этого или я должен просто выбрать шрифт вручную?

Обновление

Я обнаружил, что могу получить шрифт с:

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

Однако высота строки не соответствует высоте элементов.Установка шрифта в коде никак не влияет на высоту строки.Я использую NSTextFieldCell s и NSPopUpButtonCell s в качестве ячеек данных.

О, и я строю для 10.6.

Ответы [ 2 ]

2 голосов
/ 08 октября 2011

Помимо изменения шрифта, вам необходимо установить размер элемента управления ячейки.

NSCell *theCell = ...;
[theCell setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]]];
[theCell setControlSize:NSMiniControlSize];
0 голосов
/ 12 октября 2014

Apple теперь предоставляет официальное руководство для этого.

Вот фрагмент кода для копирования.

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