我有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
{
}
但我仍然无法双击以再次编辑该字段。
我出错的任何想法?
答案 0 :(得分:0)
即使我在做,也会结束:
[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];
现在我已经做到了,一切似乎都正常。