From a46b5eb95d304915b27deebf2548bc6af270fbe7 Mon Sep 17 00:00:00 2001 From: kariim8 Date: Sat, 18 Jan 2020 03:14:29 +0200 Subject: [PATCH 1/2] Added new file --- ImageViewer/ImageViewerController.swift | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/ImageViewer/ImageViewerController.swift b/ImageViewer/ImageViewerController.swift index 9634125..bc27aaf 100644 --- a/ImageViewer/ImageViewerController.swift +++ b/ImageViewer/ImageViewerController.swift @@ -13,6 +13,9 @@ public final class ImageViewerController: UIViewController { return true } + let iosDeviceVersion = (UIDevice.current.systemVersion as NSString).floatValue + var shouldDismissImageView = true + public init(configuration: ImageViewerConfiguration?) { self.configuration = configuration super.init(nibName: String(describing: type(of: self)), bundle: Bundle(for: type(of: self))) @@ -34,6 +37,7 @@ public final class ImageViewerController: UIViewController { setupGestureRecognizers() setupTransitions() setupActivityIndicator() + checkOverIosDeviceVersion() } } @@ -108,7 +112,7 @@ private extension ImageViewerController { zoomRect.origin.y = newCenter.y - (zoomRect.size.height / 2.0) return zoomRect } - + if scrollView.zoomScale > scrollView.minimumZoomScale { scrollView.setZoomScale(scrollView.minimumZoomScale, animated: true) } else { @@ -118,7 +122,7 @@ private extension ImageViewerController { @objc func imageViewPanned(_ recognizer: UIPanGestureRecognizer) { guard transitionHandler != nil else { return } - + let translation = recognizer.translation(in: imageView) let velocity = recognizer.velocity(in: imageView) @@ -134,12 +138,25 @@ private extension ImageViewerController { transitionHandler?.dismissInteractively = false let percentage = abs(translation.y + velocity.y) / imageView.bounds.height if percentage > 0.25 { - transitionHandler?.dismissalInteractor.finish() + + if (shouldDismissImageView == true) { + transitionHandler?.dismissalInteractor.finish() + }else { + transitionHandler?.dismissalInteractor.cancel() + } } else { transitionHandler?.dismissalInteractor.cancel() } default: break } } + + func checkOverIosDeviceVersion () { + if (iosDeviceVersion >= 13) { + shouldDismissImageView = false + }else { + print(iosDeviceVersion) + } + } } From 5cf44b44aca77f568e8680ff8225d660022895f5 Mon Sep 17 00:00:00 2001 From: kariim8 Date: Sat, 18 Jan 2020 03:19:33 +0200 Subject: [PATCH 2/2] #fix ios-13 image transaction --- ImageViewer/ImageViewerController.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/ImageViewer/ImageViewerController.swift b/ImageViewer/ImageViewerController.swift index bc27aaf..b78fb52 100644 --- a/ImageViewer/ImageViewerController.swift +++ b/ImageViewer/ImageViewerController.swift @@ -138,7 +138,6 @@ private extension ImageViewerController { transitionHandler?.dismissInteractively = false let percentage = abs(translation.y + velocity.y) / imageView.bounds.height if percentage > 0.25 { - if (shouldDismissImageView == true) { transitionHandler?.dismissalInteractor.finish() }else {