NSStatusBar 内的 NSTextField:焦点和可编辑问题

发布于 2024-12-10 12:06:28 字数 533 浏览 3 评论 0原文

我的 Cocoa 应用程序是由一个 NSStatusBar 制作的,内部有一个 NSTextField 和一个主窗口。
请查看屏幕截图以了解想法:

在此处输入图像描述

我有两个问题:

  1. 当我打开菜单栏时我无法将焦点集中到 SearchField(如 Spotlight)并且 我无法选择类似 [textField selectText:self]

    的内容
  2. 最糟糕的内容:如果我的主窗口位于前面,则它可以正常工作。如果我的主窗口不在前面但可见我无法编辑文本字段。可以用鼠标选择,但不可编辑。为什么会这样?

在此处输入图像描述

我尝试了所有发现的技巧,但无法解决问题。

My Cocoa App is made by a NSStatusBar with a NSTextField inside and a Main Window.
Please, look the screenshots to get the idea:

enter image description here

I have two problems:

  1. When I open Menubar I am unable to got the focus to SearchField (like Spotlight) and
    I am unable to select content with something like [textField selectText:self]

  2. Worsts: if my MainWindow is on front it works without problems. If my MainWindow is not on front but is visible I am unable to edit TextField. It is selectable with mouse but not editable. Why this ?

enter image description here

I tried all the hacks found but I was unable to solve the issue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

め可乐爱微笑 2024-12-17 12:06:28

我也遇到了这个问题,所以我最终使用 NSWindow 完全重新创建了 NSMenu。我将其命名为 JGMenuWindow,您可以在 GitHub 上此处找到开源代码。

以下是它的功能示例:

在此处输入图像描述

I have also had this problem so I ended up completely recreating NSMenu using a NSWindow. I named it JGMenuWindow and you can find the open source code on GitHub here.

Here's an example of what it can do:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文