gpt4 book ai didi

macos - NSTextField - 按下各个按键时的通知

转载 作者:行者123 更新时间:2023-12-03 16:31:56 24 4
gpt4 key购买 nike

我正在制作一个应用程序,当用户输入 NSTextField 时,它会为按键添加声音。 。我需要捕获击键并知道每个按键是什么(例如“d”或“空格”或“6”)。该应用程序取决于此。没有其他办法解决这个问题。

每个窗口都是一个NSDocument文件所有者,并且它有一个 NSTextField其中,文档数据被解析,用户将在其中键入。

经过几个小时在互联网上解析答案并破解代码后,四个最常重复的答案是:

  1. “事情不是这样的,这是(不相关的答案)”
  2. “您是 Cocoa 新手,这是一个坏主意,请使用 control:textView:doCommandSelector:”,它不会为我提供单独的按键,并且某些按键需要自己独特的声音触发器。
  3. “使用 controlTextDidChange:textView:shouldChangeTextInRange:replaceString:” controlTextDidChange 不会为我提供单独的键,第二个键仅适用于 textViews 或 UIKit。
  4. 人们感到困惑并回答 UIKit 的建议而不是AppKit ,仅适用于 iOS。

奇怪的是,如果我子类 NSTextField ,它收到 -keyUp 。不知道在哪里-keyDown即将进行。

所以我的最终问题是:你能告诉我某种逐步的方法来实际捕获发送到 NSTextField 的 keyDown 吗? ?即使这是一个黑客。即使这是一个糟糕的主意。

我很想解决这个问题!非常感谢您的阅读。

最佳答案

controlTextDidChange 是一个很好的解决方案,但不要忘记这两件重要的事情:

  1. 将 textField 的委托(delegate)绑定(bind)设置为定义 controlTextDidChange 方法的对象。通常,在基于文档的应用程序中,它是窗口 Controller ,否则是您的应用程序委托(delegate)。

enter image description here

  • 在属性检查器部分将文本字段的控件设置为“连续”
  • enter image description here

    如果你错过了这些要点,你将不会有结果。

    关于macos - NSTextField - 按下各个按键时的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308985/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com