NSTableView: избегайте синего заголовка при сортировке столбца таблицы - PullRequest
2 голосов
/ 04 августа 2010

когда я нажимаю на заголовок столбца NSTableView, заголовок становится синим, и появляется маленькая серая стрелка.Как мне избежать выделения синего цвета и стрелки (но сохранить сортировку самой)?

В качестве примера того, что я хочу: В Xcode нажмите на заголовок «Группы и файлы».

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 06 августа 2010

Если вы работаете с таблицей из нескольких столбцов, никогда не пытайтесь отключить стрелку и выделение, как еще пользователь узнает, что такое сортировка ... Если вы работаете с таблицей из одного столбца (в в порядке списка источников), затем потеряете заголовок и перейдите к стилю списка источников для таблицы. Прежде чем принять решение об отмене стандартного поведения, вы должны прочитать рекомендации по интерфейсу Apple и подумать, действительно ли вам нужно переопределить это поведение. Для записи Группы и Файлы Xcode не сортируются, и поэтому они не синеют и не получают стрелку.

0 голосов
/ 05 августа 2010

Вы можете контролировать то, что отображается в индикаторе, с помощью метода экземпляра NSTableView "setIndicatorImage: inTableColumn:". Я не знаю, есть ли способ просто так просто изменить подсветку.

Вы можете получить больше контроля, включая выделение, если вы создадите подкласс NSTableViewCell и переопределите методы "drawSortIndicatorWithFrame: inView: ascending: priority:" и / или "highlight: withFrame: inView" для управления как элементом индикатора, так и подсветкой. Затем вы можете использовать это в столбце таблицы следующим образом:

NSTableHeaderCell *headerCell = [[[CustomHeaderCell alloc] init] autorelease];
[tableColumn setHeaderCell:headerCell];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...