如何以编程方式启动NSTextFieldCell编辑(使其成为firstResponder)

时间:2011-11-26 12:01:39

标签: objective-c cocoa nstableview nstableviewcell

我有两个NSTableView个。双击tableview1tableview1的内容将放在tableview2中。我想编辑tableview2.中的新单元格尝试以下方法。

- (void)editColumn:(NSInteger)columnIndex row:(NSInteger)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag

这不会使tableview2成为firstResponder。光标不在新单元格中。我想将光标放在新单元格中并开始编辑单元格。请给我一些指导来实现这一目标。提前谢谢。

如何将光标放在NSTableView的单元格中?

2 个答案:

答案 0 :(得分:1)

编辑开始时,fieldEditor会显示为什么无法设置firstResponder

实现了tableView的textDidEndEditing委托。它解决了问题。

答案 1 :(得分:0)

如果您使用NSArrayController来保存表格数据,则可以覆盖rearrangeObjects:

- (void)rearrangeObjects {
    [super rearrangeObjects];
    [tableView editColumn:0 row:[self selectionIndex] withEvent:nil select:YES];
}

另一个优点是此方法似乎也将表格向下滚动到新插入的行。