gpt4 book ai didi

cocoa - 指定在外观上编辑 NSPopover 内的 NSTextField

转载 作者:行者123 更新时间:2023-12-03 16:18:43 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它呈现一个包含多个 NSTextField 的 NSPopover。虽然我可以按预期在这些字段之间进行切换,但弹出窗口会选择一个特定的文本字段,使其在出现时处于编辑状态,并且它不是我想要编辑的字段;我希望能够以编程方式(或在界面生成器中)定义在弹出窗口外观上编辑哪个文本字段。我怎样才能做到这一点?

我已经通过连接涉及的所有各种文本字段的 IB 导出来设置适当的关键 View 循环,并且我已将弹出窗口的 nextResponder 属性连接到我想要编辑的文本字段首先,但这似乎没有效果 - 弹出窗口仍会选择其首选文本字段而不是我的。 Window Programming Guide建议我将窗口的 initialFirstResponder 导出设置为我想要选择的 View ,但 NSPopover 不是 NSWindow 并且没有 initialFirstResponder 属性(除非我遗漏了某些内容)显而易见)。

有什么方法可以指定当 NSPopover 出现时我想要编辑哪个 NSTextField 吗?

最佳答案

我认为您说过您尝试使用 -makeFirstResponder: 并传递文本字段。这将设置窗口的 firstResponder,但这与 initialFirstResponder 不同,并且窗口必须将 initialFirstResponder 设置为 nil 以外的值 以尊重关键 View 循环。 ( Source ) 对您尝试的内容进行轻微调整对我有用:

- (void)popoverWillShow:(NSNotification *)notification
{
// Set the window's initialFirstResponder so that the key view loop isn't auto-recalculated.
[[myField window] setInitialFirstResponder:myField];
}

关于cocoa - 指定在外观上编辑 NSPopover 内的 NSTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12592488/

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