Представление SwiftUI значительно перерисовывается при перемещении, вызывая заикание
Лучший способ справиться со SwiftUI - это повторно отрисовать все представление, которое перемещается с помощью
DragGesture
и модификатор:
MyView().offset(x: drag.translation.width)
?
Как только
MyView()
- это очень большое представление, содержащее огромное количество сложных подвидов, перетаскивание становится все менее и менее плавным, что, очевидно, связано с тем, что SwiftUI повторно визуализирует все представление при каждом его перемещении, что также приводит к тому, что все дочерние представления перерисовываться и так далее.
Использует
.offset()
модификатор не применим при перемещении больших видов? есть ли альтернативный подход? Пока что использование DragGewture и модификатора смещения (или положения в некоторых случаях), как описано здесь, кажется обычным способом.