Это очень распространенное поведение: я видел его во многих приложениях. Этот конкретный пример из приложения «Нативные карты», но вы можете найти его во многих других местах. Этот DraggableView должен быть перетаскивается (изначально вверх) до определенной точки, где дальнейшее движение больше не станет возможным - после чего, в одном и том же движении пальца , ScrollView (который является частью DraggableView) должен начать прокручивать .
То же самое должно работать в обратном направлении: когда Draggableview полностью расширен, и мы прокручиваем Scrollview обратно в верхнюю и дальше, в одном и том же движении пальца , DraggableView должен начать перетаскиваться.
Код: Выделить всё
.scrollDisabled(!isCompletelyDraggedToTop)< /code> на Scrollview
и отключение жеста в конце
.gesture(dragGesture, isEnabled: !isCompletelyDraggedToTop)Однако я не могу переключиться с перетаскивания на прокрутку в рамках одного движения пальца. Когда прокрутка Scrollview будет включена, и перетаскивание отключено, для продолжения перехода необходимо еще одно фактическое движение пальцев. У меня тоже нет никаких очевидных решений для этого. < /p>
Вопрос < /strong>: как реализовать это поведение? < /p>
- Системный лист имеет тенденцию к Перекрытие вкладок, отодвинуть основное представление и применить смещение для просмотра. /Lucaszischka/Botthshist
Подробнее здесь: https://stackoverflow.com/questions/794 ... and-scroll
Мобильная версия