Пользовательские цвета фона для NSTableCellView

Я пытаюсь создать собственный NSTableCellView. Я создал подкласс NSTableCellView, и мне нужно иметь собственный цвет фона и цвет выделения/выделения. Есть ли способ сделать это?


person Vibhor Goyal    schedule 03.05.2013    source источник


Ответы (1)


фон, а также выбор обрабатываются представлением NSTableRowView. Он МОЖЕТ (частично) быть перезаписан ячейкой, но это совсем не так.

Реализуйте собственное представление строк и верните его для использования за строкой, которую вам нужно нарисовать.

@interface MyRowView : NSTableRowView

там у вас есть:

  • DrawBackgroundInRect:
  • DrawDraggingDestinationFeedbackInRect:
  • рисоватьселектионинрект:
  • рисовать Сепараторинрект:

e.g.

@implementation MyRowView

- (void)drawSelectionInRect:(NSRect)dirtyRect {
        [currentFill fillRect:dirtyRect inContext:[[NSGraphicsContext currentContext]graphicsPort]];
}

@end

SRC: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSTableRowView_Class/Reference/Reference.html

person Daij-Djan    schedule 04.05.2013
comment
пример использует CPTFill для рисования заливки между прочим - person Daij-Djan; 04.05.2013
comment
ОП запросил NSTableCellView - person Peter Lapisu; 24.09.2014
comment
да, и я сказал: фон, а также выбор обрабатывается представлением NSTableRowView. Он МОЖЕТ (частично) быть перезаписан ячейкой, но это совсем не так. - person Daij-Djan; 24.09.2014
comment
это не должно/не может быть легко сделано в tablecellView - вот для чего СДЕЛАНО представление строки :) - person Daij-Djan; 24.09.2014