From a4a08662beb231ecaf0a3db4936ab3d14344605a Mon Sep 17 00:00:00 2001 From: Ortwin Gentz Date: Thu, 15 Nov 2018 22:10:23 +0100 Subject: [PATCH] Fixed infinite recursion in FloatingPanel.responds(to:) if track(scrollView:) is called twice --- Framework/Sources/FloatingPanelController.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Framework/Sources/FloatingPanelController.swift b/Framework/Sources/FloatingPanelController.swift index dc2b7eb..76209ef 100644 --- a/Framework/Sources/FloatingPanelController.swift +++ b/Framework/Sources/FloatingPanelController.swift @@ -344,8 +344,10 @@ public class FloatingPanelController: UIViewController, UIScrollViewDelegate, UI /// public func track(scrollView: UIScrollView) { floatingPanel.scrollView = scrollView - floatingPanel.userScrollViewDelegate = scrollView.delegate - scrollView.delegate = floatingPanel + if scrollView.delegate !== floatingPanel { + floatingPanel.userScrollViewDelegate = scrollView.delegate + scrollView.delegate = floatingPanel + } switch contentInsetAdjustmentBehavior { case .always: if #available(iOS 11.0, *) {