I'm working on a chess GUI app (my first app) and I can't seem to figure out how to implement the drop part of drag and drop. So far I'm able to display a static chess board and pieces onto the screen and either use onTapGesture or DragGesture to move them but the UX isn't right yet. Do I need to use the draggable and dropDestination methods instead? Any advice or a simple code example that would get me going would be appreciated. Here are my requirements below to be clear:
Display an 8x8 Grid View (or I suppose LazyGrid) where all cells contain a Color view, and some may overlay an SF Symbol Image depending on the models state
UI needs to update the underlying model state and vice versa
Drag and drop gesture should be self contained within the Grid View, so no transfer of data between other window instances
Only one SF Symbol should be draggable and droppable at a time
An SF symbol dropped onto another should remove it from the state model
The drop gesture should snap a piece into the centre of the closest grid cell (or return it if it was an illegal chess move)
No need for backwards compatibility, I'm focusing on current software and hardware
Compatible with iOS, MacOS, iPadOS, WatchOS and potentially VisionOS
3
0
1.6k