【问题标题】:Key Commands with no modifier flags—Swift 2没有修饰标志的键盘命令——Swift 2
【发布时间】:2016-02-27 14:55:56
【问题描述】:

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

请回答其中之一!

当用户在 iPad 蓝牙键盘上键入某个字符而没有作为第一响应者的文本字段并且没有按控制或选项键时,我如何才能让事情迅速发生? p>

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

【问题讨论】:

    标签: ios swift ipad bluetooth


    【解决方案1】:

    这两点我都可以帮你。

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

    2. 是的!只需在初始化程序中传递 input: "4" 而不是 input: "j"

    【讨论】:

    • 非常感谢!我的计算器现在好多了。如果有什么可以帮助您的,请告诉我;)。
    猜你喜欢
    • 2018-02-27
    • 1970-01-01
    • 2021-11-07
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 2011-12-23
    相关资源
    最近更新 更多