[英]NSTableCell setDataCell disables editing
我有一个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
{
}
但是我仍然无法双击来编辑该字段。
有什么想法我要去哪里吗?
原来,即使我在做:
[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];
既然我已经做到了,那么一切似乎都可以正常运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.