gpt4 book ai didi

cocoa - 覆盖 NSTextField 中 NSButton 的等效键

转载 作者:行者123 更新时间:2023-12-03 16:42:34 27 4
gpt4 key购买 nike

我有一个带有两个 NSButton 和一个 NSTextField 的窗口,以及几个 View 和其他几个控件。我将左右箭头键分配给两个 NSButton。这两个按钮响应左右箭头键。但是,当在 NSTextField 中时,我希望箭头键像在文本字段中通常那样执行,而不触发 NSButton。我尝试阅读 Cocoa Key Handling 文档和有关关键事件的其他问题,但我找不到尝试更改一个控件中的关键等效行为的示例。我尝试对 NSTextField 进行子类化,但无法捕获箭头键。如何实现?

最佳答案

您可以覆盖BecomeFirstResponder:并在您的实现中调用setKeyEquivalent:。如果您想在按钮失去第一响应者状态时删除等效键,请覆盖 resignFirstResponder:。

在您想要影响按钮等效项的第一响应者状态的控件中执行此操作。例如,如果您有一个 View 作为容器,并且它可以成为第一响应者,您可以重写 -becomeFirstResponder: (调用 super),然后在那里管理按钮的等效项。如果您还不理解这些主题,则需要阅读大量先决条件,因为这里不可能给出简单的答案。

关于cocoa - 覆盖 NSTextField 中 NSButton 的等效键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373292/

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