Измените цвет разделителя на фон или удалите его из NSTableView

Я хочу удалить цвет разделителя в NSTableView на основе View.

Он выглядит следующим образом:

enter image description here

Для UITableView существует метод setSeparatorColor:, но не для NSTableView.

Решения будут высоко оценены.

Ответ 1

Я сделал это как:

Изменен интервал между ячейками:

[aTableView setIntercellSpacing:NSMakeSize(0, 0)];

И изменив высоту ячейки, установите ширину представления на 30.f, выделенная ячейка имеет 35.f.

Теперь он идеально подходит, снимок экрана:

enter image description here

Ответ 2

Для NSTableView, Interface Builder имеет настройки для Horizontal Grid, Vertical Grid и Grid Color. Они отражены в API как -setGridStyleMask и setGridColor.

Они делают именно то, что вы хотите.

[table setGridColor:[NSColor clearColor]];
[table setGridStyleMask:NSTableViewGridNone];

Ответ 3

Ответ для построителя интерфейса:

введите описание изображения здесь

Ответ 4

Возможно, я мог бы упомянуть, что в таблицах, основанных на представлении, NSTableRowView отвечает за рисование разделителей. Поэтому в инспекторе для таблицы вы устанавливаете сетку в "None" и реализуете drawSeparatorInRect: в вашем подклассе NSTableRowView, что в вашем случае означает, что оно пустое.

Ответ 5

IMHO, Apis NSTableView немного странно.

Например: Если вы установите сетку в "None" или "NSTableViewSolidVerticalGridLineMask", drawSeparatorInRect: не будет вызван. Действительно!!!

Так drawSeparatorInRect: называется OMLY, когда NSTableViewSolidHorizontalGridLineMask

Итак, как мне настроить вертикальную сетку? Ну, я не могу легко? Без необходимости копаться в монстре NSTableView