2017-02-07 4 views
0

私はUIPickeViewのアイテムをタップするたびにタップジェスチャーをトリガーしたいと思う。速いタップジェスチャーがトリガーしない

私は、うまく動作するLongPressジェスチャーに次のコードを使用しています。しかし、私がUITapGestureRecognizerに切り替えると、何もトリガされません。

フルコードアップデート!

@IBOutlet weak var showClaims: UIPickerView! 

    override func viewDidLoad() { 

     super.viewDidLoad() 
showClaims.isUserInteractionEnabled = true 
     let tapped = UITapGestureRecognizer(target: self, action: #selector(ClaimVC.SelectClaimInfo)) 

     showClaims.addGestureRecognizer(tapped) 
} 


func SelectClaimInfo() { 
     GetClaimInfo() 
} 
+0

Iを作る 実装する必要があります

let tap = UITapGestureRecognizer(target: self, action:#selector(self.handleTap(_:))) myView.addGestureRecognizer(tap) 

試してみますshowClaimsにタップジェスチャ認識機能を追加した場所が表示されません。 – dfd

+0

UIPickerViewで.userInteractionEnabledがtrueです。 – Emptyless

+0

@dfdタップをlongPressに置き換えました。長押しの場合と同じコードがタップに使用されます。 –

答えて

0

@dfdはコメント内で正しいと思います。

例:

view.addGestureRecognizer(tapGesture) 

更新:SOこれからtouchesBeganをチェック:あなたのUIPickerが正しくtouchersをreacivingているかどうかをチェックすることができ、それによりtouchesBegan Swift 3.0

override func viewDidLoad() 
{ 
    super.viewDidLoad() 
    setupTapGesture() 
} 

private func setupTapGesture() 
{ 
    let tapGesture = UITapGestureRecognizer(target: self, 
              action: #selector(myVC.doStuff(_:))) 
    view.addGestureRecognizer(tapGesture) 
} 

func doStuff(gesture: UITapGestureRecognizer) {} 

あなたが見逃していました。そのようにすべてを作るまで、彼らのために動作しないジェスチャーをタップして、誰のために

0

UIGestureRecognizerDelegate、その後 MKE tap.delegate = selfに準拠するために、あなたがこのUIGestureRecognizerDelegate方法は

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
     return true 
    } 
関連する問題