Skip to content

Instantly share code, notes, and snippets.

@ershovio
Last active November 23, 2019 12:15
Show Gist options
  • Save ershovio/6b1fb40735171b7ee0a83d40128a9c4f to your computer and use it in GitHub Desktop.
Save ershovio/6b1fb40735171b7ee0a83d40128a9c4f to your computer and use it in GitHub Desktop.
Пример DragGesture
struct DragGestureExample: View {
@State var rectangleOffset: CGSize = .zero
var body: some View {
// Создаем DragGesture
let dragGesture = DragGesture()
// При изменение локации мы пересчитываем значения отступа для прямоугольника
.onChanged { value in
self.rectangleOffset = value.translation
}
// После завершения жеста прямоугольник возвращается на место
.onEnded { _ in
self.rectangleOffset = .zero
}
return Rectangle()
.foregroundColor(.green)
.cornerRadius(40)
// Изменяем местоположение прямоугольника
.offset(rectangleOffset)
.frame(width: 200, height: 100, alignment: .center)
// Добавляем gesture к view
.gesture(dragGesture)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment