Я пытаюсь передать UIImageView
в качестве параметра через UITapGestureRecognizer
, например. addTapGestureRecognizer(passedView: questionImage)
, где questionImage
- UIImageView
. Код так:Cant pass UIImageView в UITapGestureRecognizer
// MARK: Tap Gesture Recognizer
func addTapGestureRecognizer(passedView: UIView) {
let photoTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didTapPhoto(_:)))
photoTapGestureRecognizer.numberOfTapsRequired = 1
passedView.isUserInteractionEnabled = true
passedView.addGestureRecognizer(photoTapGestureRecognizer)
}
func didTapPhoto(_ sender: UITapGestureRecognizer) {
print("Did detect the tap")
if let imageView = sender as? UIImageView {
print("Is an image view")
}
}
Когда я нажимаю на UIImageView
он обнаруживает кран и печатает первое утверждение. Однако он не будет отличать sender
в UIImageView
и распечатать второе утверждение. Что я здесь делаю неправильно?
вы добавили жест для просмотра не ImageView –
UIImageView является UIView. (Подкласс) – KexAri