From 0137292eb6a4ef12ccf97724bd18fdf0a6fe14d6 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Sat, 11 Jul 2020 23:03:16 +0400 Subject: [PATCH] Disable context gestures when switching tabs --- .../PeerInfo/PeerInfoPaneContainerNode.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoPaneContainerNode.swift b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoPaneContainerNode.swift index b420000541..057dd761b6 100644 --- a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoPaneContainerNode.swift +++ b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoPaneContainerNode.swift @@ -547,6 +547,21 @@ final class PeerInfoPaneContainerNode: ASDisplayNode, UIGestureRecognizerDelegat @objc private func panGesture(_ recognizer: UIPanGestureRecognizer) { switch recognizer.state { + case .began: + func cancelContextGestures(view: UIView) { + if let gestureRecognizers = view.gestureRecognizers { + for gesture in gestureRecognizers { + if let gesture = gesture as? ContextGesture { + gesture.cancel() + } + } + } + for subview in view.subviews { + cancelContextGestures(view: subview) + } + } + + cancelContextGestures(view: self.view) case .changed: if let (size, sideInset, bottomInset, visibleHeight, expansionFraction, presentationData, data) = self.currentParams, let availablePanes = data?.availablePanes, availablePanes.count > 1, let currentPaneKey = self.currentPaneKey, let currentIndex = availablePanes.index(of: currentPaneKey) { let translation = recognizer.translation(in: self.view)