我正在開發基於文檔的可可應用程序。 啓動界面在GarageBand後建模:顯示一個歡迎界面,顯示兩個交替視圖(通過分段控件切換)中的一個:「創建新項目」和「瀏覽最近項目」。每個視圖都由專用的NSViewController控制(在這種情況下,NewProjectViewController和RecentProjectsViewController)。NSTextField在顯示一次後不會接受輸入
爲了達到這個目的,我創建了NSDocumentController子類,以便在啓動時顯示這個「歡迎屏幕」,而不是創建一個空白文檔(空白文檔在我的應用中沒有意義,直到用戶指定了某些最小設置)。
啓動/初始文檔創建後,如果用戶選擇「創建新項目...」(即新文檔),我將顯示一個窗口,它重用與歡迎屏幕中的「新建項目」選項卡相同的界面通過實例化相同的NewProjectViewController並將其視圖添加到窗口。
在這兩種情況下,視圖控制器的視圖都是從.xib創建的。視圖控制器本身以編程方式實例化,並使用-addSubview:將其視圖添加到窗口的預先存在的子視圖中。
NewProjectViewController的視圖包含幾個可編輯的NSTextField實例和其他控件。
問題: 視圖控制器視圖中的所有NSTextField實例只會在第一次接受文本輸入;從第二次顯示視圖開始,嘗試編輯文本將產生系統警報聲。文字可以被選中(突出顯示),但沒有改變。此外,文本可以通過編程方式進行更改。
其他控件(彈出按鈕)可以更改沒有問題。
我試着從頭開始顯示「新建文檔」窗口(而不是歡迎屏幕),但結果是一樣的:第一次工作,第二次沒有。
這是第一響應者問題嗎?
還,使用10.6雪豹。 – 2012-03-30 05:36:32