NSTableCell setDataCell отключает редактирование
У меня есть NSTableView
который я динамически добавляю в столбцы. Я только что добавил вызов setDataCell
настроить мою камеру. Код выглядит так:
for(NSUInteger columnIndex = 0; columnIndex < resultSet.columNames.count; ++columnIndex)
{
NSTableColumn * newColumn = [[NSTableColumn alloc] initWithIdentifier: [NSString stringWithFormat: @"%ld", columnIndex]];
[newColumn.headerCell setAlignment: NSCenterTextAlignment];
[newColumn.headerCell setStringValue: resultSet.columNames[columnIndex]];
[newColumn setDataCell: [[HSDisclosureTextFieldCell alloc] init]];
[newColumn setEditable: YES];
[resultsTableView addTableColumn: newColumn];
if(newColumn.width < 60) [newColumn sizeToFit];
} // End of column loop
Если я удалю звонок setDataCell
тогда я все еще могу дважды щелкнуть мою запись и отредактировать ее.
Я минимизировал HSDisclosureTextFieldCell
содержит следующее (без переопределений):
@interface HSDisclosureTextFieldCell : NSTextFieldCell
{
}
Но я все еще не могу дважды щелкнуть, чтобы редактировать поле.
Есть идеи, где я иду не так?
1 ответ
Решение
Оказывается, хотя я делаю:
[newColumn setEditable: YES];
и имеют:
- (BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
реализовано, мне нужно было переключить мой setDataCell
быть:
HSDisclosureTextFieldCell * cell = [[HSDisclosureTextFieldCell alloc] init];
[cell setEditable: YES];
[newColumn setDataCell: cell];
Теперь, когда я это сделал, кажется, все работает правильно.