При перетаскивании объекта курсор скользит по мере того, как я его перетаскиваю
У меня есть этот код на SwiftUI.
Идея такова: когда пользователь перетаскивает объект, я хочу, чтобы он немного увеличивал масштаб во время перетаскивания и возвращался к нормальному масштабу, когда перетаскивание закончилось.
struct ContentView: View {
@State private var position = CGPoint(x: 200, y: 250)
@State private var scale:CGFloat = 1
var body: some View {
VStack(spacing:0) {
Toolbar()
ZStack {
Rectangle()
.fill(Color.white)
Rectangle()
.fill(Color.black)
.frame(width:50, height: 50)
.position(position)
.scaleEffect(scale, anchor: .center)
.gesture(
DragGesture()
.onChanged({ newValue in
withAnimation{
self.scale = 1.2
self.position = newValue.location
}
})
.onEnded({_ in
withAnimation{
self.scale = 1.1
}
}))
}
}
.background(Color("background"))
.statusBar(hidden: true)
}
}
вот что происходит:
Обратите внимание, как положение объекта на экране влияет на его смещение.
Я хочу, чтобы объект все время находился в центре того места, где находится палец.