私のUITapGestureRecognizerでユーザーからのタッチを登録するのに少し問題があります。 showMenu()ユーザーがblackView、上でタップしたときは(却下するよう機能がユーザーに部分的に透明blackViewを表示するようになっている、と私はジェスチャー認識を実装しました)です呼び出され、ビューがフェードします。スウィフト:ジェスチャー認識がタップを登録していません
私のXCodeコンソールでは、コードに指定されている "却下"という印刷メッセージは表示されません。
ありがとうございます!
func showMenu(){
print("show")
if let window = UIApplication.sharedApplication().keyWindow{
blackView.backgroundColor = UIColor(white: 0, alpha: 0.5)
blackView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(dismiss)))
window.addSubview(blackView)
blackView.frame = window.frame
blackView.alpha = 0
//Added this line
blackView.userInteractionEnabled = true
UIView.animateWithDuration(0.5){
self.blackView.alpha = 1
}
}
}
func dismiss(){
print("dismiss")
UIView.animateWithDuration(0.5){
self.blackView.alpha = 0
}
}
編集:私はすべてのビューがビュー階層のデバッグツールを使用してタップを盗んでトップにあったかどうかを確認するためにチェックしましたが、blackView上記のものがあるようには思えない、私はまたしました明示的にを設定して、ユーザーの対話を許可するようにを設定してください。
EDIT: View Hierarchy Debugインターフェイスのスクリーンショットです。
numberOfTapsRequiredを1に設定しようとしましたか? @Scriptable、 – Scriptable
残念ながら、私は同じ結果を受けています。 – BlackDeveraux
ええと、大丈夫、コードは私には大丈夫です、あなたはフロントにサブビューを持って来ることができますか? 'self.view.bringSubviewToFront(blackView)'サブビューを追加したら、それが役立つかどうか確認してください。私はちょっと試してみることができません、ちょうどアイデアを思い付いて – Scriptable