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

标签 ios swift ipad bluetooth

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

请回答其中一个问题!

当用户在 iPad 蓝牙键盘上键入某个字符时,没有文本字段作为第一响应者,并且没有按 control 或 option 键,我如何让事情 swift 发生?

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

最佳答案

这两个我都可以帮你。

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

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

关于ios - 没有修饰符标志的键盘命令——Swift 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35671226/

相关文章:

iphone - 使用 NSOperationQueue 在后台线程中执行 drawRect 和 sizeWithFont 会导致应用程序崩溃

iOS 6.0 : UISplitViewController Popover broken or design changed by Apple?

ios - 导航到不同的 ViewController 时 BLE 外设断开连接

ios - 在 ContainerController 中访问 UIViewController

ios - iOS应用程序中的youtube iFrame在全屏后导致半屏变黑

ios - 自动调整(动态高度)表格 View 单元格的问题

Javascript 方向更改不适用于 iPad 上的 PhoneGap

ios - 如何避免在 NSNumberFormatter 中四舍五入

ios - UIButton 的绘图下划线隐藏在 View 后面

swift - “方法”在这种情况下对于类型查找不明确,Alamofire 中的错误