这可能只是缺乏经验,NSOutlineView
但我看不到这样做的方法。我有一个NSOutlineView
(通过出色的PXSourceList实现)带有一个添加按钮,该按钮在我正确保存/写入/插入/删除行方面完全可用。我不使用 a NSTreeController
,也不使用绑定。我使用以下代码添加实体:
- (void)addEntity:(NSNotification *)notification {
// Create the core data representation, and add it as a child to the parent node
UABaseNode *node = [[UAModelController defaultModelController] createBaseNode];
[sourceList reloadData];
for (int i = 0; i < [sourceList numberOfRows]; i++) {
if (node == [sourceList itemAtRow:i]) {
[sourceList selectRowIndexes:[NSIndexSet indexSetWithIndex:i] byExtendingSelection:NO];
[sourceList editColumn:0 row:i withEvent:nil select:NO];
break;
}
}
}
当按下添加按钮时,会插入一个新行,如下所示:
如果我点击离开,然后选择该行并按下enter
以编辑它,它现在看起来像这样:
我的问题是:如何以编程方式第一次获得相同的状态(焦点、选定、突出显示),以使用户体验更好?