我有一個約4個不同的NSTextField的NSPanel。我正在尋找通常的剪輯,複製,粘貼,selectAll工作的一些領域。Obj-C:爲什麼我的NSTextField子類對我沒有分配給它的對象有影響?
我已經找到了最好的解決辦法似乎是在這裏: http://web.archive.org/web/20100126000339/http://www.cocoarocket.com/articles/copypaste.html
的AXCVHandler成爲的NSTextField的子類。在我的NSPanel的界面構建器中,如果我將一個NSTextField的類更改爲AXCVHandler,如上面的鏈接所示,那麼對我而言,預期的行爲就是隻有該單個文本字段允許剪切,複製和粘貼。其餘3個字段不會被分配NSTextField類。
我所看到的雖然與我預期的行爲相反。我爲AXCVHandler設置了一個NSTextField,並且突然間,我的NSPanel上的每個NSTextField都正在使用剪切,複製和粘貼?
這是爲什麼?剩下的3個文本字段被分配了NSTextField類,但他們在我的子類中調用了performKeyEquivalent?!
我錯過了什麼?這是對firstResponder如何工作或其他方面的錯誤理解?
有沒有辦法阻止這種行爲,並確保這個performKeyEquiv響應只發生在分配的目標視圖? – 2014-09-26 13:00:16
您可以進行檢查以查看所需的文本字段或所需文本字段的字段編輯器是否是第一響應者,並且僅在發送該動作時才發送該動作。如果使用'NSTextField'的子類而不是'AXCVHandler'類來實現'-performKeyEquivalent:'方法,那麼這可能是最簡單的。 – 2014-09-27 05:27:40