【问题标题】:NSTextField inside NSPopover is not key until mouse clickNSPopover 中的 NSTextField 在鼠标单击之前不是关键
【发布时间】:2012-05-29 03:23:10
【问题描述】:

我有一个通过与 NSStatusItem 交互显示的 NSPopover。我在博客上写过在这种情况下我需要做的黑客攻击:http://blog.brokenrobotllc.com/using-nspopover-with-nsstatusitem

我在 NSPopover 的内容视图中有一个 NSTextField。当我打开 NSPopover 时, NSTextField 看起来好像是键(光标闪烁)。但是,在打字时,什么也没有出现。如果我在该字段中单击鼠标,我的输入将开始显示在那里。

我尝试过在 popoverDidShow: 上调用 NSWindow 的 makeFirstResponder 之类的方法。行为没有因此而改变。有人在这里有什么想法吗?

【问题讨论】:

  • 所以NSTextField 在自定义视图中(由NSViewController 子类加载)?我有一个嵌入在NSScrollView(以编程方式创建)中的NSTextView,并且没有这个问题,我不需要任何技巧来使NSTextView成为第一响应者。

标签: objective-c macos cocoa nswindow nspopover


【解决方案1】:

我猜你需要激活你的应用;尝试调用

[NSApp activateIgnoringOtherApps:YES];

当你显示你的弹出框时。

编辑:当然,我可能是错的。这一切都在我的脑海中。

【讨论】:

  • 你让我开心。谢谢!正是我需要的。
  • 斯威夫特:NSApplication.shared.activate(ignoringOtherApps: true)
猜你喜欢
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多