0

キーボードを作成しようとしていますが、タップ、ダブルタップ、トリプルタップが可能です。そこで、キーボードの各ボタンにUITapGestureRecognizer()を追加します。私はxibファイルから手作業でこれを行う方法を知っています(それぞれの文字を追加してください)。しかし、コントローラでそれを行う方法はかなりわかりません。即時にカスタムキーボードのすべての "ボタン"にシングル、ダブル、トリプルのタップジェスチャーを追加する

私はのviewDidLoad()メソッドでダブルタップのためにこれを書いた:

let doubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "doubleTapCharacter:") 
doubleTap.numberOfTapsRequired = 2 

for button in self.view.subviews{ 
     button.addGestureRecognizer(doubleTap) 
} 

とdoubleTapCharacter()メソッドを作成したが、それはまだ動作していません。私はまた、doubleTapCharacterメソッドに情報を送ることができるようにしたい。

ご協力いただければ幸いです。また、私は非常に速いので、命令が複雑な場合は、私は非常にそれを少し壊すことができればそれを感謝したいと思います。

+1

を**。最初の2行をforループに移動します。 –

答えて

2

ジェスチャー認識器を作成して追加します。

for button in view.subviews { 
    // create the gesture recognizer 
    let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "doubleTapCharacter:") 
    doubleTapRecognizer.numberOfTapsRequired = 2 

    // add gesture recognizer to button 
    button.addGestureRecognizer(doubleTapRecognizer) 
} 

、ターゲット・メソッドを実装:あなたは**ビューごとに1 gesturerecognizerを作成する必要が

func doubleTapCharacter(doubleTapRecognizer: UITapGestureRecognizer) { 
    let tappedButton = doubleTapRecognizer.view as! UIButton 
    print(tappedButton.titleForState(UIControlState.Normal)) 
} 
+0

素晴らしいsoooがありがとう!それは今働いている! print文 '.Normal)の最後に感嘆符を付ける必要がありました!)' – sometimes24

関連する問題