我有一个约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