3
我想为我的应用程序添加硬件键盘支持,以便用户随时可以通过按下键盘上的某个键来触发某个功能。我发现了this article,并且能够在Objective-C中发挥出色。我已将它转换为Swift,但出于某种原因,在按“c”后,keyPressed
方法未被调用。我确认keyCommands
只要用户按下键盘上的任何键就会被调用。我正在测试iOS模拟器和Mac键盘。在Swift中监听硬件键盘按键
这是什么问题在我的Swift代码中?
override func canBecomeFirstResponder() -> Bool {
return true
}
func keyCommands() -> [AnyObject]? {
var keyCommands = []
struct Static {
static var onceToken : dispatch_once_t = 0
}
dispatch_once(&Static.onceToken) {
let command = UIKeyCommand(input: "c", modifierFlags: nil, action: "keyPressed:")
keyCommands = [command]
}
return keyCommands
}
func keyPressed(command: UIKeyCommand) {
println("user pressed c") //never gets called
}