2011-11-28 109 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」。這解決了這個問題。

相關問題