SwiftUI ScrollView blocked when content contains a drag gesture

I am porting my app to SwiftUI and I am hitting a wall when using ScrollView. In my application, I have nested scrollViews to represent a scheduler.

  • outer vertical scroll view

  • inner horizontal scroll view that allows to horizontally scroll multiple columns in the scheduler

  • each column in the inner scroll view is a view that needs to allow for a drag to initiate the creation of a new appointment

  • on macOS, I do a mouse-down drag, so it does not affect the scroll view and works fine

  • on iOS, if I add a drag gesture to the column, it short circuits the scroll view and scrolling becomes disabled. To initiate the drag, there is a long-press, and that gesture is fine, only the subsequent drag gesture is problematic.

I have attached URL to a test app. The UI allows you to toggle the drag gesture. Hopefully, someone can help to get it to work since I would eventually like to port the macOS target to Catalyst.

Download Test App

That's not the same issue, but may be it will give you some ideas where to search.

https://stackoverflow.com/questions/68668517/why-wont-a-nested-scrollview-respond-to-scrolls-in-swiftui

SwiftUI ScrollView blocked when content contains a drag gesture
 
 
Q