2016-05-16 10 views
0

私はこの質問の前の回答を見てきましたが、私の場合はソリューションが機能していないようです(ジェスチャ認識が失敗するなど) 。ダブルタップに準拠する前にタップでジェスチャーをタップする

私はタップジェスチャー認識に私の見解をフックアップしている、と私は自分のコードに次のハンドラを使用しようとしている:

@IBAction func doubleTapView(gesture: UITapGestureRecognizer) { 
    gesture.numberOfTapsRequired = 2 

    if gesture.state == .Ended { 
     print("Works") 
    } 
} 

これは何が起こるかです:

第1のタップの意志"Works"を印刷します。 その後、「仕事」をダブルタップで入力する必要があります

最初にタップしたときに印刷を削除して、正しく動作させるにはどうすればよいですか?

答えて

1

@IBAction関数呼び出しの前にタッチ数を設定する必要があります。

ここでは2つの方法があります。

どちらのストーリーボード

Set it here

またはIBOutletを作成し、viewDidLoad()機能で設定では。

@IBOutlet weak var tapGesture: UITapGestureRecognizer! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    tapGesture.numberOfTapsRequired = 2 
} 
+0

なぜこのような場合に説明してください。 – illuminatedtype

+0

タップジェスチャーレコグナイザの「numberOfTapsRequired」プロパティはセットアップの一部なので、まずダブルタップ後にIBActionが起動するようにしなければなりません(シングルタップ後ではなく、デフォルト値) –

+1

何@LA言った:) –

関連する問題