Reorderable-контейнеры: drag-to-reorder везде ⌚️

🔀 List больше не монополист на перетаскивание. Помечаете ForEach модификатором .reorderable(), оборачиваете лейаут в reorderContainer(for:) — и первоклассное переупорядочивание получает любой стек, сетка или собственный лейаут. Включая watchOS.

Перемещение элементов между секциями — через reorderable(collectionID:). ⚠️ Что важно знать заранее: когда драг завершается, замыкание отдаёт вам ReorderDifference — и никакого хелпера для применения нет. Массив вы правите сами, через sources и destination.position. То есть API отвечает за жест и анимацию, а за модель — вы. Бэкдеплоя нет, только iOS 27. Для простых List-экранов старый onMove никуда не делся и по-прежнему проще. А для перетаскивания данных между приложениями это не тот инструмент — там Transferable.

#SwiftUI #iOSDev #iOS27 #WWDC26

Reorderable-контейнеры: drag-to-reorder везде ⌚️ | Сетка — социальная сеть от hh.ru