0

似乎从未考虑过 NSDatePicker nextKeyView。

我可以在 NSDatePicker 上键入选项卡,但尽管 nextKeyView 设置正确,但永远不会离开它。

在选择器内时,如果我按 Tab 键,焦点会正确地从日文本字段转到月文本字段,但会停留在年文本字段中,并且永远不会转到 nextKeyView 控件。

在相反的方向上也是一样,shift-tab 年复一年地正确运行,但被粘在 NSDatePicker 内。

我猜这是 NSDatePicker 的一个错误。

我如何子类(或任何其他类型的解决方案)来克服这个问题?

在此处输入图像描述 此外,下一个关键视图链的日志,只是为了证明它们已设置

Initial first responder <NSTextField: 0x100587c60>
next key view <NSDatePicker: 0x6000035008f0>
next key view <NSComboBox: 0x100636740>
next key view <NSTextField: 0x10063e5a0>
next key view <NSTextField: 0x100587c60>
4

1 回答 1

0

这里有一个问题:管理视图的控制器有一个 keyDown: 方法,因为它需要对按下的“删除”键做出反应。如果按下的键不是“delete”(例如“tab”键),则此方法不会调用 [super keyDown:event]。

当控制器不处理密钥时添加对 super 的调用解决了该问题。

为什么在某些情况下(例如,当焦点位于文本字段上时)正确处理了按下的 Tab 键,而在其他情况下(例如日期选择器)却没有得到解释。

感谢所有发表评论并帮助我解决这个问题的人。

于 2019-03-08T09:55:47.123 回答