2011-11-28 111 views
0

Added detailed info如何在编辑NSTableView中的单元格后保留字段编辑器?

我有两个窗口(主窗口和childWindow。)在我使用WindowController使用下面的代码添加childwindowmainWindow的顶部,使childwindow总是对的mainWindow顶部。

[[childWindowController window]setLevel:NSModalPanelWindowLevel];

在ChildWindow我有一个的tableView,当我双击这个的tableView row我想更新在主窗口中的tableview。我使用了下面的tableview api进行编辑。

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

之后,我想编辑在主窗口中的tableview的内容。我无法获得tableviewcell中的键盘焦点,因为'childWindow'总是'FirstResponder'。

我怎么会做的tableview在“主窗口”为FirsResponder或有什么办法在“主窗口”

+1

我不认为[“字段编辑器”](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/TextEditing/Tasks/FieldEditor.html)意味着你认为它的意思。你可以添加一些细节,你想要做什么?也许是一个图形描述? –

+0

现在Iam能够使用以下代码获得tableviewcell中的fieldEditor NSText * currentEditor = [tableView currentEditor]; [mainWindow makeFirstResponder:currentEditor]; [currentEditor setSelectedRange:NSMakeRange([[currentEditor string] length],0)]; – Ram

+0

我需要实现textDidEndEditing委托。如果我实现了这个tableview委托的setObjectValue没有被调用。我怎样才能使这两件事情一起工作。 – Ram

回答

0

忘了打电话给[super textDidEndEditing]的tableviecell获得“keyboardfocus”。这解决了这个问题。

相关问题