Ответ 1
К сожалению, создание этого поведения может быть реальным P *** я * t ** A **.
К счастью, создание такого поведения возможно с помощью делегата UIGestureRecognizer, даже если вы не можете получить доступ к одному GestureRecognizer напрямую.
-(BOOL)gestureRecognizer:shouldRequireFailureOfGestureRecognizer:
-(BOOL)gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
-(BOOL)gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:
Второй параметр ( "otherGestureRecognizer" ), переданный в методах делегата, содержит UIScrollView PanGestureRecognizer (или частные подклассы Apple), когда ваш gestureRecognizer "сталкивается" с помощью scrollView.
Так просто установите делегат UIScreenEdgePanGestureRecognizer для ответа на методы делегата.
Именование этих двух методов очень субоптимально и, честно говоря, я действительно не знаю, каковы правильные возвращаемые значения для вашего случая.
У меня вчера была эта проблема, и я решил ее жестоким испытанием и ошибкой.
Im мой случай, возвращая NO из методов shouldRequireToFail и shouldBeRequiredToFail и YES из метода одновременного решения моей проблемы.
Note: Returning NO from both methods changed the behavior compared to not
even implementing the methods at all. Even though the documentation says
the default return value is NO.
Однако, любое поведение GestureRecognizer может быть достигнуто с помощью методов делегата. Но, как я сказал выше, наименование методов просто очень запутанно. + для этих методов существует не более полезная документация.