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