The*_*Tom 3 macos cocoa keyboard-events sprite-kit swift
我正在尝试使用spriteKit构建动画,并且可以通过键盘进行控制(箭头键可以加快,减速和倒带动画)。
我还需要此应用程序具有完全透明的背景,这是我使用以下方法管理的:
scene?.backgroundColor = NSColor.clearColor()
Run Code Online (Sandbox Code Playgroud)
以及 :
self.window.opaque = false
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切正常,我可以控制动画。但是,一旦我尝试通过取消选中右侧面板上的窗口框来删除Interface Builder中的标题栏,键盘捕获就会停止工作。
keyDown:
不再被调用,当您的Mac告诉您键盘输入不再是一种选择时,我得到了“叮当”的声音特征。即使我在菜单栏中仍然有我的应用程序的名称。
标题关闭时,还有什么方法可以继续接收键盘输入?
默认情况NSWindow
下false
,canBecomeKeyWindow
如果窗口没有标题栏,则实例从返回。以下引用来自NSWindow
类参考中的相关部分。
如果此方法返回false,则放弃使窗口成为键窗口的尝试。在
NSWindow
若窗口有一个标题栏或调整大小吧,否则为false实现返回true。
因此,要获得该行为,您需要子类化NSWindow
,然后true
从返回canBecomeKeyWindow
。
归档时间: |
|
查看次数: |
297 次 |
最近记录: |