没有修饰符标志的键命令-Swift 2

时间:2016-02-27 14:55:56

标签: ios swift ipad bluetooth

我在swift中构建了一个计算器,我希望拥有蓝牙键盘的iPad用户能够在没有任何屏幕键盘干扰的情况下进行打字。我认为最好的方法是使用UIKeyCommand s,但我遇到了一个问题:而使用objective-c你可以做类似[UIKeyCommand keyCommandWithInput:@"f" modifierFlags:0 action:@selector(keyPressF)]的事情,在swift中不能有&# 39; 0'修饰符标志。

请回答其中一个!

如果用户在没有文本字段作为第一响应者的情况下在iPad蓝牙键盘上键入某个字符,并且没有按下控制键或选项键,我怎样才能在swift中实现?

当我按下command-j时会发生一些事情。当我按下我的iPad BT键盘上的4键时,我可以做些什么吗?"

1 个答案:

答案 0 :(得分:5)

我可以帮助你解决这两个问题。

  1. 在Swift 2.0及更高版本中,您必须传递一个空数组而不是0.要使初始化程序工作,它看起来像:UIKeyCommand(input: "f", modifierFlags: [], action: "keyPressF")。原因是因为0未在UIKeyModifierFlags结构中的任何位置定义。这在UIKit中很常见,所以习惯将这种模式用于空选项是个好主意。

  2. 是的!只需在初始值设定项中传递input: "4",而不是input: "j"