なぜ私のUITapGestureRecognizerが正しく発射されないのか分かりません。実際、それはまったく発射していません。私は画像のタップで実行する関数を取得しようとしています。セットアップに関するSwift 3:UITapGestureRecognizerが発砲しない
情報:プログラムで
- ストーリーボードを使用していない、ロードすべてが
OK、それにUICollectionViewを持っているコードのように:
let backButtonIcon: UIImageView = {
let bbi = UIImageView()
bbi.image = UIImage(named: "backIcon")
bbi.translatesAutoresizingMaskIntoConstraints = false
bbi.layer.zPosition = 2
return bbi
}()
私は、ビューにあることを追加しました:
view.addSubview(backButtonIcon)
UIImageViewにタップ機能を追加するために、私が使用しています:
let tapBackButton = UITapGestureRecognizer(target: self, action: #selector(backButtonPressed))
backButtonIcon.isUserInteractionEnabled = true
backButtonIcon.addGestureRecognizer(tapBackButton)
そして最後に、ここで私がしようとしている機能があります現時点では、単純な印刷を実行します。
func backButtonPressed(sender: UITapGestureRecognizer) {
print("Go Back Pressed")
}
更新:
またbbi.isUserInteractionEnabled = true
と::2
backButtonIcon.isUserInteractionEnabled = true
更新:
は、私はすでに追加しようとしている私は別の空白のビューを作成し、コードを使用
それがここにあるとおりにし、それが働きました。
UICollectionViewと関係がありますか?
私はUICollectionView zPosition -1とUIImageView zPositionを1にしましたが、それもうまくいきませんでした。
セレクタが正しく表示されない場合は、認識できないセレクタで少なくともクラッシュする必要があります。 'backButtonIcon'のsuperviewとは何ですか? – Larme
@Larme nope no crash。それはなぜ正しくないのですか? – JamesG
追加されたビューへの参照(つまり変数)を保持していないときにgestureRecognizerが機能しないという問題が発生しました。ここに私の記事があります:http://stackoverflow.com/questions/40144874/frontmost-uiview-with-tapgesturerecognizer-not-receiving-touches/40157112#40157112 – toddg