我在swift中构建了一个计算器,我希望拥有蓝牙键盘的iPad用户能够在没有任何屏幕键盘干扰的情况下进行打字。我认为最好的方法是使用UIKeyCommand
s,但我遇到了一个问题:而使用objective-c你可以做类似[UIKeyCommand keyCommandWithInput:@"f" modifierFlags:0 action:@selector(keyPressF)]
的事情,在swift中不能有&# 39; 0'修饰符标志。
请回答其中一个!
如果用户在没有文本字段作为第一响应者的情况下在iPad蓝牙键盘上键入某个字符,并且没有按下控制键或选项键,我怎样才能在swift中实现?
当我按下command-j时会发生一些事情。当我按下我的iPad BT键盘上的4键时,我可以做些什么吗?"
答案 0 :(得分:5)
我可以帮助你解决这两个问题。
在Swift 2.0及更高版本中,您必须传递一个空数组而不是0.要使初始化程序工作,它看起来像:UIKeyCommand(input: "f", modifierFlags: [], action: "keyPressF")
。原因是因为0未在UIKeyModifierFlags结构中的任何位置定义。这在UIKit中很常见,所以习惯将这种模式用于空选项是个好主意。
是的!只需在初始值设定项中传递input: "4"
,而不是input: "j"
。