Расчет ширины флажков в NSOutlineView
Я программно настраиваю мультиколонку NSOutlineView
, Первый столбец содержит только флажки, тогда как другие столбцы содержат текст. Я создаю флажки, как это:
cell = [[NSButtonCell alloc] init];
[cell setButtonType:NSSwitchButton];
[cell setImagePosition:NSImageOnly];
Теперь я хочу отрегулировать ширину первого NSTableColumn
до точной ширины, необходимой для флажка. Чтобы вычислить размеры ячейки флажка, я делаю следующее:
NSCell *cell = [m_view preparedCellAtColumn:0 row:0];
unsigned cellWidth = [cell cellSize].width;
Это возвращает 18
в cellWidth
, Вероятно, это правильное значение, но этого недостаточно, потому что NSOutlineView
всегда кажется, что перед ячейками самого первого столбца есть пробел. Вот как это выглядит:
Как вы можете видеть, флажки в настоящее время обрезаны из-за слишком малой ширины столбца из-за пустого пространства перед флажком.
Поэтому вот мой вопрос: как я могу рассчитать ширину этого пробела для моего первого NSTableColumn
чтобы я мог рассчитать всю ширину столбца, необходимую для отображения флажка и пустого пространства? Есть ли способ избавиться от этого пробела?