我是iPad的开源合成器AudioKit Synth One的开发者之一,有人给我们留下了评论,要求通过物理智能键盘而不是屏幕键盘来实现合成器的播放。与Mac的“音乐打字”上的Garageband或Logic Pro相似的功能。
为此,我需要能够响应按键和按键释放。有人知道Apple的API当前是否可以做到这一点?
答案 0 :(得分:1)
通过覆盖keyCommands
(其中UIResponder
是其子类)的UIViewController
属性,可以响应来自外部键盘的按键,但是,您将无法检测到不同的动作,例如按下或释放键。
覆盖应该捕获此事件的UIViewController
的此属性
迅速:
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "Z",
modifierFlags: [],
action: #selector(didPressZ)),
UIKeyCommand(input: "X",
modifierFlags: [],
action: #selector(didPressX))
] /// etc., return UIKeyCommand for each key you want to react to
}