Structure
LongPressGesture
A gesture that succeeds when the user performs a long press.
あるジェスチャ、それはユーザが長押しを実行する時に成功します。
Overview
概要
To recognize a long-press gesture on a view, create and configure the gesture, then add it to the view using the gesture(_:including:)
modifier.
Add a long-press gesture to a Circle
to animate its color from blue to red, and then change it to green when the gesture ends:
struct LongPressGestureView: View {
@GestureState var isDetectingLongPress = false
@State var completedLongPress = false
var longPress: some Gesture {
LongPressGesture(minimumDuration: 3)
.updating($isDetectingLongPress) { currentState, gestureState,
transaction in
gestureState = currentState
transaction.animation = Animation.easeIn(duration: 2.0)
}
.onEnded { finished in
self.completedLongPress = finished
}
}
var body: some View {
Circle()
.fill(self.isDetectingLongPress ?
Color.red :
(self.completedLongPress ? Color.green : Color.blue))
.frame(width: 100, height: 100, alignment: .center)
.gesture(longPress)
}
}
Topics
話題
Creating a Long Press Gesture
var minimumDuration: Double
The minimum duration of the long press that must elapse before the gesture succeeds.
ジェスチャが成功する前に経過しなければならない長押しの最小期間。
Supporting Types
支援を行う型
typealias Body
The type of gesture representing the body of Self
.
ジェスチャの型、Self
のボディを表しています。
typealias Value
The type representing the gesture’s value.
ジェスチャの持つ値を表している型。
Default Implementations
省略時実装
See Also
参照
Basic Gestures
基本ジェスチャ
struct TapGesture
A gesture that recognizes one or more taps.
あるジェスチャ、それは1つ以上のタップを認識します。
struct DragGesture
A dragging motion that invokes an action as the drag-event sequence changes.
あるドラッグ動作、それはあるアクションをそのドラッグイベントの一続きが変化するにつれて発動します。
struct MagnificationGesture
A gesture that recognizes a magnification motion and tracks the amount of magnification.
あるジェスチャ、それは拡大動作を認識します、そして拡大量を追跡します。
struct RotationGesture
A gesture that recognizes a rotation motion and tracks the angle of the rotation.
あるジェスチャ、それは回転動作を認識します、そして回転の角度を追跡します。