【问题标题】:How can I get "Select All" working in my subclassed NSTextField/NSTextFieldCell?如何让“全选”在我的子类 NSTextField/NSTextFieldCell 中工作?
【发布时间】:2013-10-29 17:30:59
【问题描述】:

通常,当在文本字段/输入/区域/编辑器中编辑文本时,按 ⌘A 将选择该字段/输入/区域/编辑器中的所有当前文本。我对 NSTextField 和 NSTextFieldCell 进行了子类化,无论我尝试什么,我似乎都无法让基本的“全选”功能正常工作。我尝试过实现委托协议、拦截事件、操作选择器发出的命令以及我能想到的所有其他事情。是什么赋予了? (我已经可以听到“听说过 Google 了吗?”因为这可能很简单,但我还没有找到一个答案。我想我应该感谢 iOS。)

在我忘记提及它之前,我还将一个标准的 NSTextField 拖到我的 nib 中,以查看非子类 NSTextField 是否默认实现全选行为,令我震惊的是,它没有。我在这里发疯了,还是我完全忽略了一些东西?实现文本字段时,全选几乎不是必需的吗? Apple 的 First Responder 代理处理所有事情(包括 selectAll 的两个版本(selectAllselectAll:),但 n00b 对我来说很强大,我似乎无法理解这些。

任何帮助/想法将不胜感激。干杯!

【问题讨论】:

    标签: objective-c macos nstextfield selectall nstextfieldcell


    【解决方案1】:

    应用程序菜单处理将键盘快捷键操作发送到应用程序当前的第一响应者。缺少的连接可以解释为什么您的常规 NSTextField 对象也缺少此功能。

    【讨论】:

    • 感谢您的回复!我已经更改了默认应用程序菜单,所以我敢打赌你是对的。我为什么要删除 Select All 项目超出了我的范围。我猜,在这个明亮的屏幕前呆了太多小时。我将创建一个新的全选菜单项,连接一些操作,然后报告。谢谢,果味。
    • 我完全忘记更新这篇文章了。 @FruityGeek 做到了。我不小心从应用程序的 MainMenu Nib 中删除了“全选”菜单项。一切都很好,结局很好。干杯。
    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多