鼠标事件不会路由到Cocoa应用程序中的NSButtons

时间:2019-01-04 13:12:28

标签: swift macos cocoa

我在3个NSStackviews中有几个UI元素。 首先,NSStackView是一个垂直方向的stackView,其作用类似于2个子stackViews的容器。 第一个子stackView具有3个NSButton,第二个子stackView具有2个充当标签的NSTextField和1个NSSlider。 直到今天,它仍按预期工作。 问题是我所有的按钮和滑块在没有明显原因的情况下都停止响应鼠标事件。

我尝试过的事情:

  • 回滚了几次提交,看我是否弄乱了什么,发现自己没有。它不会在较旧的提交上收到鼠标事件,因为 好吧。

  • 我尝试从NSStackView中移出UI元素以查看是否重叠了某些内容,但此操作不再起作用。

  • 自从我将可访问性标签添加到NSButton之后,我也将其删除了,但是它什么也没有改变。

  • 尝试在另一台Mac上构建项目,并遇到相同的问题。

  • 为keyDown事件添加了替代,以查看该窗口是否正在成为第一响应者。是的,它可以完美地捕获鼠标事件,但是单击时我的按钮仍然不会触发它们的动作。

奇怪的是,按钮可以使用画外音和键盘工作。

其他信息:

macOS:10.14.2

Xcode:10.1

部署目标:10.14

编辑:基本不执行任何操作后,它开始按预期响应鼠标事件。这让我很担心,因为该应用程序需要在下周发货,而无缘无故地停止接收鼠标事件并不理想。

0 个答案:

没有答案