мой viewcontroller содержит представление, в которое добавляется другой viewcontroller (в раскадровке). Этот viewcontroller содержит вид прокрутки. После загрузки я настроил scrollView следующим образом:
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.delegate = self
slides = self.getResultDetailImageSlides()
setupSlideScrollView(slides: slides)
self.pageControl.numberOfPages = slides.count
self.pageControl.currentPage = 0
view.bringSubview(toFront: self.pageControl)
}
func setupSlideScrollView(slides: [ResultDetailImageSlide]) {
scrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
scrollView.contentSize = CGSize(width: view.frame.width * CGFloat(slides.count), height: view.frame.height)
scrollView.isPagingEnabled = true
for i in 0 ..< slides.count {
slides[i].frame = CGRect(x: view.frame.width * CGFloat(i), y: 0, width: view.frame.width, height: view.frame.height)
scrollView.addSubview(slides[i])
}
}
func getResultDetailImageSlides() -> [ResultDetailImageSlide] {
let slide1: ResultDetailImageSlide = Bundle.main.loadNibNamed("ResultDetailImageSlide", owner: self, options: nil)?.first as! ResultDetailImageSlide
slide1.imageView.image = UIImage(named: "ResultDetail_Placeholder_3D")
slide1.imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.openImage)))
let slide2: ResultDetailImageSlide = Bundle.main.loadNibNamed("ResultDetailImageSlide", owner: self, options: nil)?.first as! ResultDetailImageSlide
slide2.imageView.image = UIImage(named: "ResultDetail_Placeholder")
return [slide1, slide2]
}
@objc func openImage() {
//...
}
, но openImage () никогда не вызывается, когда я нажимаю на первое изображение. Я что-то пропустил?