diff --git a/ImageSlideshow/Classes/Core/ImageSlideshow.swift b/ImageSlideshow/Classes/Core/ImageSlideshow.swift index ea86e343..84d86f2e 100644 --- a/ImageSlideshow/Classes/Core/ImageSlideshow.swift +++ b/ImageSlideshow/Classes/Core/ImageSlideshow.swift @@ -106,6 +106,9 @@ open class ImageSlideshow: UIView { /// Called on scrollViewDidEndDecelerating open var didEndDecelerating: (() -> ())? + + /// Called on scrollTap + open var didTap: ((_ page: Int) -> ())? /// Currenlty displayed slideshow item open var currentSlideshowItem: ImageSlideshowItem? { @@ -219,6 +222,8 @@ open class ImageSlideshow: UIView { if #available(iOS 11.0, *) { scrollView.contentInsetAdjustmentBehavior = .never } + let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap)) + scrollView.addGestureRecognizer(tapGesture) addSubview(scrollView) if let pageIndicator = pageIndicator { @@ -482,6 +487,11 @@ open class ImageSlideshow: UIView { setCurrentPage(currentPage, animated: true) } } + + @objc private func handleTap() { + let page: Int = Int(scrollView.contentOffset.x/scrollView.frame.size.width) + didTap!(page-1) + } } extension ImageSlideshow: UIScrollViewDelegate {