2017-10-20 4 views
0

画面キーボードや外付けキーボードのiOSですべてのキー押下を検出する方法はありますか?these?私は入力されたテキストをキャッチする "受け入れる"方法は、見えないテキストボックスを使用することですが、実際のキープレス(Ctrlキー、Altsキー、Shiftキーなど)ではなく、 "テキスト"をキャッチするように思われます。iOSのKeypressesをオンスクリーンまたは外付けキーボードから検出する

私はできますかなり基本的だが、これが可能であることを示唆している文書内のものは見つからない。私は何かを逃しているのですか、それともiOSでこれを達成できないのでしょうか?

ありがとうございます!例えば

:あなたはトリガー・アクションを追加するのViewControllerでkeyCommandsをオーバーライドすることができます

答えて

0

あなたkeyCommandコールバックで

  //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

+0

を、私は誰がどのキーを知っているが表示されませんしかし押された。可能なキーごとにコールバックが本当に必要でしょうか? –

+0

トリガー内で押されたキーを確認できます。theEvent = sender.input theEvent == UIKeyInputDownArrow { return moveDown(theEvent as AnyObject) } – slee

関連する問題