似乎NSDatePicker nextKeyView从来没有被考虑在内。
我可以用Tab键连接到NSDatePicker,但即使nextKeyView设置正确,我也无法摆脱它。
在选取器中,如果按Tab键,焦点将正确地从日到月再到年文本字段,但停留在年文本字段中,并且不会转到nextKeyView控件。
在相反的方向上,shift-Tab键从一年到一月再到一天都是正确的,但在NSDatePicker中却被固定在那里。
我猜这是NSDatePicker的一个bug。
我如何通过子类化(或任何其他类型的解决方案)来解决这个问题?

此外,还提供了下一个键视图链的日志,以证明它们已设置
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>发布于 2019-03-08 17:55:47
这里有一个问题:管理视图的控制器有一个keyDown:方法,因为它需要对按下的"delete“键做出反应。如果按下的键不是"delete“(如"tab”键),则此方法不会调用超级keyDown:事件。
当密钥不是由控制器处理时,添加对super的调用解决了这个问题。
为什么在某些情况下(例如,当焦点在文本字段上)而不是在其他情况下(例如,日期选择器)按下tab键是正确的,这一点仍未得到解释。
感谢所有发表评论的人,并帮助我弄清楚这一点。
https://stackoverflow.com/questions/55041475
复制相似问题