Стандартный цвет подсветки в приложениях OS X - синий.
Можно ли изменить его на другой цвет, например серый
Обратите внимание, что я использую новый основанный на представлении NSTableView, доступный начиная с OS X 10.7.
NSTableView
Use this Notification for NSTableView: - (void)tableViewSelectionDidChange:(NSNotification *)notification { //You Logic stuff }
- (void)tableViewSelectionDidChange:(NSNotification *)notification { [tblCategory enumerateAvailableRowViewsUsingBlock:^(NSTableRowView *rowView, NSInteger row){ CustomMainCell *cellView = [rowView viewAtColumn:0]; if(rowView.selected){ cellView.txtFieldTitle.textColor=[NSColor colorWithCalibratedRed:245.0/255.0 green:110.0/255.0 blue:65.0/255.0 alpha:1.0]; }else{ cellView.txtFieldTitle.textColor=[NSColor whiteColor]; } }]; }
[tblКатегория setSelectionHighlightStyle: NSTableViewSelectionHighlightStyleNone];
Вы должны создать подкласс NSTableView и переписать функции ниже, чтобы изменить чередующиеся цвета.
(void) drawRow: (NSInteger) row clipRect: (NSRect) clipRect
(void) drawBackgroundInClipRect: (NSRect) clipRect ** Этот, чтобы изменить основной и альтернативный цвет **
(void) drawBackgroundInClipRect: (NSRect) clipRect
Используйте цикл for и вставьте это условное (i % 2 == 0) для обнаружения нечетных и четных строк.
(i % 2 == 0)