从屏幕和/或外部键盘检测iOS中的键盘

时间:2017-10-20 15:27:46

标签: c# ios objective-c swift xamarin.ios

有没有办法检测iOS屏幕键盘和/或these等外接键盘上的所有按键?我知道捕获键入文本的“接受”方式是使用一个不可见的文本框,但这似乎只能捕获“文本”,而不是实际按键(没有Ctrl,Alts,Shift等)

我在文档中找不到任何暗示这是可能的东西,尽管它看起来非常基本。我错过了什么,或者我们真的无法在iOS中实现这一点吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以覆盖ViewController中的keyCommands以添加触发器操作:

例如:

            //MyViewController

          override var keyCommands: [UIKeyCommand]?{

            //Get UIKeyCommand

                var keys = [UIKeyCommand]()

            //Add triggle for Num only

                    for num in "123456789".characters {

                        keys.append(

     UIKeyCommand(input:String(num),modifierFlags: 
     UIKeyModifierFlags(rawValue: 0), action:
     #selector(MyViewController.keyCommand(_:)), discoverabilityTitle:
      NSLocalizedString("keydiscover_number", 
      comment: "KeyDiscover      Number")))


                        }
        }



 //The Triggle 

func keyCommand(_ sender: UIKeyCommand) {
                        print("Number Clicked");
                    }

https://developer.apple.com/documentation/uikit/uiresponder/1621141-keycommands