gpt4 book ai didi

swift - makeFirstResponder : does not always take cursor

转载 作者:行者123 更新时间:2023-11-28 08:43:52 25 4
gpt4 key购买 nike

当我使用键盘快捷键或点击状态栏中的图标来显示我的应用程序时,我设置了第一响应者。 makeFirstResponder: 始终成功(返回 true)并带有非零窗口和非零 NSTextField。然而,它并不总是“获取光标”(即将闪烁的 | 移动到 NSTextField)。

例如,

  • 显示应用 - 使用光标 ✓
  • 点按外部应用
  • 再次显示应用程序 - 不占用光标(即使 makeFirstResponder 返回 true)。

以下是我尝试执行此操作的方法:

//Find the key window. I don't think this is the problem because self.window produces the same results. 
var keyWindow:NSWindow = popover.contentViewController!.view.window!

for window in NSApplication.sharedApplication().windows{
if (window.keyWindow){
Swift.print("window \(window) is the key window")
keyWindow = window
}
}

//iFR is a variable that I use to keep track of which NSTextField I want to focus on. It's always a valid textField and most of the time (but not always) it's the only NSTextField in the view.
if (initialFirstResponder != nil)
{
if keyWindow.makeFirstResponder(initialFirstResponder)
{
Swift.print("first responder success")
}else
{
//Never happens:
Swift.print("first responder FAIL")
}

}else
{
Swift.print("no initial firstResponder")
}

最佳答案

我觉得我正在强行迫使响应者链提交,但是,

NSApp.activateIgnoringOtherApps(true)

使光标始终被捕获(并被很好地询问)去我想去的地方。

关于swift - makeFirstResponder : does not always take cursor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829536/

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