diff --git a/README.md b/README.md index f245092..e0ab4c4 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,8 @@ pod 'SPFakeBar' If you use `UIScrollView` (or UITableView & UICollectionView) on controller, I recommend making it more interactive. When scrolling reaches the top position, the controller will interactively drag down, simulating a closing animation. Also available close controller by drag down on `UIScrollView`. To do this, set the delegate and in the function `scrollViewDidScroll` call: +To enable swipe down you have to enable bounce on top. + ```swift func scrollViewDidScroll(_ scrollView: UIScrollView) { SPStorkController.scrollViewDidScroll(scrollView) diff --git a/Source/SPStorkController/SPStorkController.swift b/Source/SPStorkController/SPStorkController.swift index 92c7afa..d1e193a 100755 --- a/Source/SPStorkController/SPStorkController.swift +++ b/Source/SPStorkController/SPStorkController.swift @@ -41,10 +41,12 @@ public enum SPStorkController { return } } + if presentationController.pan?.state != UIGestureRecognizer.State.changed { presentationController.scrollViewDidScroll(translation * 2) } } else { + presentationController.updatePresentedViewForTranslation(inVerticalDirection: translation) presentationController.setIndicator(style: .arrow) presentationController.scrollViewDidScroll(0) } diff --git a/Source/SPStorkController/TransitioningDelegate/SPStorkPresentationController.swift b/Source/SPStorkController/TransitioningDelegate/SPStorkPresentationController.swift index fcba812..4d64759 100755 --- a/Source/SPStorkController/TransitioningDelegate/SPStorkPresentationController.swift +++ b/Source/SPStorkController/TransitioningDelegate/SPStorkPresentationController.swift @@ -396,7 +396,7 @@ extension SPStorkPresentationController { }) } - private func updatePresentedViewForTranslation(inVerticalDirection translation: CGFloat) { + func updatePresentedViewForTranslation(inVerticalDirection translation: CGFloat) { if self.startDismissing { return } let elasticThreshold: CGFloat = 120