Обработване на персонализиран стил на избор в базиран на изглед NSTableView

Как да начертая свой собствен персонализиран стил за избор за изглед, базиран на NSTableView? Опитах се да поставя BOOL променлива в моя NSTableCellView подклас и да го задам на YES, ако се щракне върху него и след това мога успешно да начертая персонализираната си селекция. Но как да променя тази BOOL променлива на NO, когато се щракне върху друг изглед? Благодаря за всяка помощ.

РЕДАКТИРАНЕ: След като прочетох документите на NSTableView, изглежда, че трябва да подкласифицирам NSTableRowView, за да отменя чертежа за избор, но какво да правя с моя подклас NSTableRowView? Как да накарам таблицата да я използва?


person edc1591    schedule 31.10.2011    source източник


Отговори (2)


Добре, разбрах го. Просто трябва да подкласирате NSTableRowView. Има методи за рисуване на фона за избрани и премахнати редове. За да накарате изгледа на таблицата да използва вашия подклас, просто имплементирайте метода за делегиране на изглед на таблица tableView:rowViewForRow: и върнете екземпляр на вашия подклас.

person edc1591    schedule 31.10.2011
comment
Как мога да променя цвета на етикета и иконата в изгледа на клетка? - person 6 1; 17.08.2012

За да изясним нещата, мисля, че трябва да дадем кода на метода на делегата:

- (NSTableRowView *)tableView:(NSTableView *)tableView rowViewForRow:(NSInteger)row
{
   MyNSTableRowView *rowView = [[MyNSTableRowView alloc]init];
   return rowView;
}
person fredzouille    schedule 16.07.2014