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];

Теперь, когда я это сделал, кажется, все работает правильно.

Другие вопросы по тегам