检测没有修饰符的按键

Posted

技术标签:

【中文标题】检测没有修饰符的按键【英文标题】:Detect key press without modifier 【发布时间】:2019-10-17 09:44:01 【问题描述】:

我想在我的 Catalyst 应用程序中捕获按键。

UIKeyCommand(input: "", modifierFlags: nil, action: #selector(singleShift))

很遗憾,modifierFlags 不能为 nil,并且 Catalyst 不支持 NSEvent。有没有办法检测单键?例如用于键盘应用或游戏?

【问题讨论】:

查看this search 的结果,了解创建不带修饰符的 UIKeyCommand 的几个示例。 【参考方案1】:

modifierFlags 字段不是可选的,因此您不能传递nil。它属于UIKeyModifierFlags 类型,即OptionSet,因此如果您不想传递修饰符,只需传递一个空数组即可。

class ViewController: UIViewController 
    override var keyCommands: [UIKeyCommand]? 
        [UIKeyCommand(input: UIKeyCommand.inputPageUp,
                      modifierFlags: [],
                      action: #selector(pageUpPressed(_:)))]
    

【讨论】:

以上是关于检测没有修饰符的按键的主要内容,如果未能解决你的问题,请参考以下文章

使用受保护的访问修饰符覆盖没有访问修饰符的方法

4.键盘修饰符以及自定义键盘修饰符

如何找到没有显式访问修饰符的方法?

没有访问修饰符的字段,java [重复]

在c语言中修饰符的用法

java四种权限修饰符的区别