Как уже упоминалось в комментариях, в первую очередь вам нужен распознаватель жестов касания вместо одного жеста панорамирования.В следующем коде вы сможете удваивать ширину и высоту изображения каждый раз, когда пользователь нажимает на imageView.
В этой реализации я хотел анимировать переход за 0,5 секунды, что не является необходимым, но может показаться, что сделать это лучше.Также, предполагая, что вы хотите, чтобы изображение всегда находилось в центре, вам нужно установить центр в центр кадра, чтобы он не плавал при изменении кадра изображения.Но если вы хотите иметь другой макет или расположение, вам нужно обновить следующую строку:
self.imageView.center = self.view.center
Также вам нужно включить свойство взаимодействия с пользователем imageView, установив его в true.
import UIKit
class ViewController: UIViewController {
@IBOutlet var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
imageView.isUserInteractionEnabled = true
imageView.addGestureRecognizer(tapGestureRecognizer)
}
@objc func handleTap() {
UIView.animate(withDuration: 0.5) {
self.imageView.frame.size.height *= 2
self.imageView.frame.size.width *= 2
self.imageView.center = self.view.center
}
}
}