I am encountering some weird behavior, where a subview within a UIBarButtonItem.customView is not firing the tapGesture.
I have even tried to add the gesture to the holderView instead, but the result is the same, the function never fires.
Am I missing something here?
Code Block private var leftBarButtonItem: UIBarButtonItem = { let b = UIBarButtonItem() return b }() private lazy var imageView: UIImageView = { let iv = UIImageView() //... some adicional setup iv.isUserInteractionEnabled = true return iv }() func setupBBItem() { let holderView = UIView() holderView.isUserInteractionEnabled = true holderView.addSubview(imageView) imageView.frame = //... some frame //... more setups here holderView.isUserInteractionEnabled = true leftBarButtonItem.customView = holderView navigationItem.leftBarButtonItem = leftBarButtonItem let gesture = UITapGestureRecognizer(target: self, action: #selector(someFunction)) imageView.addGestureRecognizer(gesture) } @objc private func someFunction() { print("tap gesture detected") }
I have even tried to add the gesture to the holderView instead, but the result is the same, the function never fires.
Am I missing something here?