Как сохранить поле Editor после редактирования ячейки в NSTableView?

Added detailed info

У меня есть две Windows (mainWindow и childWindow). В верхней части mainWindow я добавил childwindow с помощью WindowController, используя следующий код, так что childwindow всегда находится поверх mainWindow.

[[childWindowController window]setLevel:NSModalPanelWindowLevel];

В ChildWindow у меня есть tableView. Когда я дважды щелкаю по этому tableView row, я хочу обновить tableview в mainWindow. Я использовал следующий API tableview для редактирования.

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

После этого я хотел бы отредактировать содержимое таблицы в mainWindow. Я не могу получить фокус клавиатуры в tableviewcell, поскольку «childWindow» всегда является «FirstResponder».

Как мне сделать табличное представление в «mainWindow» как FirsResponder или есть ли способ получить «keyboardfocus» в tableviecell «mainwindow»


person Ram    schedule 28.11.2011    source источник
comment
Я не думаю, что редактор полей означает то, что вы думаете. Не могли бы вы добавить некоторые детали к тому, что вы пытаетесь сделать? Может быть, графическое описание?   -  person jscs    schedule 28.11.2011
comment
Теперь я могу получить fieldEditor в tableviewcell, используя следующий код NSText * currentEditor = [tableView currentEditor]; [mainWindow makeFirstResponder: currentEditor]; [currentEditor setSelectedRange: NSMakeRange ([[строка currentEditor] длина], 0)];   -  person Ram    schedule 29.11.2011
comment
Мне нужно реализовать делегат textDidEndEditing. Если я реализую это одно setObjectValue делегата tableview, он не вызывается. Как я могу заставить обе вещи работать вместе.   -  person Ram    schedule 29.11.2011


Ответы (1)


Забыл позвонить [super textDidEndEditing]. Это решило проблему.

person Ram    schedule 20.12.2011