2017-03-28 17 views
1

編集:以下のコードに正しいコードを追加しました。今働いている。UILabelロングプレスの認識

私は自分のゲームの最中にランニング中に座っているラベルを持っています。ラベルを長押ししたいのですが、メインメニューが表示されます。今すぐ私は長い間、アプリケーションをクラッシュすると、以下のエラーが表示されます。

エラー:私が持っているものの

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[blocks1.ViewController longTap:]: unrecognized selector sent to instance 0x101800000' *** First throw call stack:

基礎:

var gameTopTitle = UILabel() 

//this is all after my gameTopTitle is added to the screen 
let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.longTap)) 
gameTopTitle.addGestureRecognizer(longGesture) 
gameTopTitle.isUserInteractionEnabled = true 

と機能

func longTap(sender : UIGestureRecognizer){ 
    print("Long tap") 
    if sender.state == .ended { 
     print("UIGestureRecognizerStateEnded") 
     //Do Whatever You want on End of Gesture 
    } 
    else if sender.state == .began { 
     print("UIGestureRecognizerStateBegan.") 
     //Do Whatever You want on Began of Gesture 
    } 
} 
+1

#selector(self.longTap)を試してください –

+0

それは、ありがとう、ありがとうございます。 – idlehand

+1

あなたの歓迎、私はそれを回答として投稿しました –

答えて

2

この

let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.longTap)) 
にしてみてください

私はこれがあなたを助けることを望みます