2013-11-26 57 views
2

我的設置是編輯後使用委託NSOutlineView項目

我有一個由NSpanel和NSOutlineView組成的nib文件。

大綱視圖通過綁定和NSTreeController填充,我有NSOutlineView子類我有一些委託和拖放方法。

我的問題

我試圖實現委託方法

- (void)textDidEndEditing:(NSNotification *)aNotification 

我可以在NSOutlineview編輯任何項目,有一次我打「回」委託方法被調用,但是窗口不再有效。並且該項目保留在「編輯模式」下,我必須點擊編輯項目上方或下方的項目來終止編輯模式。我包括一對夫婦的圖像來說明

目前我沒有任何文字除了NSlog日誌以查看它是否被調用。如果我刪除了按預期執行的方法,則編輯完成,窗口仍處於活動狀態。

編輯項目

Editing item

有一次,我打的「返回」窗口失去焦點和項目仍處於編輯模式。

Hit enter

+1

你嘗試過調用 - [super textDidEndEditing:]? –

+0

@KenAspeslagh這樣做!如果您將您的評論更改爲答案,我會接受,同時我也希望能夠快速解釋爲什麼您必須在此情況下致電超級會員。謝謝 – Cory

回答

1

如果重寫NSOutlineView的textDidEndEditing:正在改變tableview中的行爲,嘗試將調用-[super textDidEndEditing:]

這裏發生的事情是NSOutlineView(或其中一個超類)在textDidEndEditing:中做了一些重要的事情,並且通過在子類中重寫該方法,父類的方法永遠不會被調用。