2011-02-03 42 views
13

我已經問過幾個關於這個主題的問題,並沒有真正收到關於如何做的真實答案(它實際上收到了「Tumbleweed Badge」哈哈)。連接基於文檔的應用程序中的菜單項

我有一個基於文檔的應用程序(意味着Menu.Xib與MyDocument.Xib是分開的)。我想添加一個'粗體'按鈕或一個檢查拼寫按鈕(Menu.xib中列出的項目(在格式>字體等)到MyDocument(主要界面)。我不知道如何做到這一點。

任何幫助將不勝感激(我會立刻獎勵的答案,如果它的工作原理,這難倒我了幾個星期了)。

我嘗試添加一個字體管理器MyDocument.Xib和連接的方式,但是粗體按鈕只啓用,不會禁用,另外,拼寫檢查等不能通過字體管理器激活。

必須有更好的方法來做到這一點。

Apple文檔非常含糊。

回答

17

這正是IB中First Responder對象的用途。它是用於連接操作的代理對象。任何發送給它的動作消息都會通過響應者鏈傳遞給接受它們的第一個oobject。對於基於文檔的應用程序,響應者鏈包含當前文檔。因此,要將菜單項連接到您的文檔:

  1. 如果需要,將操作添加到First Responder。您可以從IB的檢查員窗口執行此操作。
  2. 將動作連接到First Responder,就好像它是普通對象一樣。
  3. 在文檔中實施操作方法。

如果您需要以編程方式向第一響應者添加消息,請將對象的目標設置爲nil

+1

當我向Document.h中添加一個IBAction時,我發現它立即出現在MainMenu.xib的第一個響應者的動作列表中。這非常有幫助,謝謝! – mtmurdock 2012-04-15 21:31:25

相關問題