Расчет ширины флажков в 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 чтобы я мог рассчитать всю ширину столбца, необходимую для отображения флажка и пустого пространства? Есть ли способ избавиться от этого пробела?

0 ответов

Другие вопросы по тегам