2015-03-03 2 views
1

Когда выбрана строка/ячейка NSTableView, ее фон становится синим, а любой стандартный цвет текста NSTextfield становится белым.Получение уведомлений при выборе ячейки с инкапсулирующей ячейкой NSTableView?

Есть ли общедоступный API, который позволяет вам получать сообщение, когда выбрано инкапсулирующее представление строки или ячейки? В принципе, я хочу создать пользовательский вид, который изменяет цвета при выборе строки/ячейки.

ответ

1

Ячейки таблицы не выбираются, строки в таблице делают. NSTableRowView имеет собственность selected.

Я думаю, вы должны просто полагаться на то, что ваш взгляд требует рисования (т. Е. Маркируется как необходимость отображения), когда строка изменяется независимо от того, выбрана она или нет. Затем он может запросить свойства его вложенного вида строк, чтобы принять решение , как он должен рисовать.

Это не обязательно должно использовать свойство selected строки, чтобы решить, как рисовать. Скорее, вы часто должны использовать interiorBackgroundStyle строки. Или, если вы используете NSTableCellView для просмотра сотовой ячейки, проверьте его backgroundStyle. Во многих случаях вам не придется проверять; представление ячеек переадресует значение backgroundStyle в его подпункты, если они поддерживают это.

+0

Спасибо за помощь. Таким образом, вам просто нужно добавить свойство backgroundStyle к своему пользовательскому представлению и проверить это ... Звучит довольно элегантно. –