TapGesture
识别一个或多个轻击的手势。
struct TapGesture
总览
要识别视图上的轻击手势,请创建并配置该手势,然后使用修饰符将其添加到视图中。以下代码向添加了点击手势,以切换圆圈的颜色。gesture(_:including:)Circle
struct TapGestureView: View {
@State var tapped = false
var tap: some Gesture {
TapGesture(count: 1)
.onEnded { _ in self.tapped = !self.tapped }
}
var body: some View {
Circle()
.fill(self.tapped ? Color.blue : Color.red)
.frame(width: 100, height: 100, alignment: .center)
.gesture(tap)
}
}
主题
创建拍打手势
1、init(count: Int)
创建具有所需轻击次数的轻击手势。
2、var count: Int
所需的点击事件数。
3、typealias Body
代表身体的手势类型Self。
进行手势
4、func updating<State>(GestureState<State>, body: ((), inout State, inout Transaction) -> Void) -> GestureStateGesture<TapGesture, State>
在手势值更改时更新提供的手势状态属性。
5、func onEnded((()) -> Void) -> _EndedGesture<TapGesture>
添加动作以在手势结束时执行。
6、typealias Value
表示手势值的类型。
构成手势
7、func simultaneously<Other>(with: Other) -> SimultaneousGesture<TapGesture, Other>
将一个手势与另一个手势组合以创建一个新手势,该手势可以同时识别两个手势。
8、func sequenced<Other>(before: Other) -> SequenceGesture<TapGesture, Other>
对一个手势与另一个手势进行排序以创建一个新手势,这导致第二个手势仅在第一个手势成功后才接收事件。
9、func exclusively<Other>(before: Other) -> ExclusiveGesture<TapGesture, Other>
专门组合两个手势以创建一个新手势,其中只有一个手势成功,优先于第一个手势。
将修改键添加到手势
10、func modifiers(EventModifiers) -> _ModifiersGesture<TapGesture>
将手势与键盘修饰符结合在一起。
变换手势
11、func map<T>((()) -> T) -> _MapGesture<TapGesture, T>
返回一个手势,该手势是将给定闭包映射到该手势的结果。
highPriorityGesture(_:including:)
以比视图定义的手势更高的优先级将手势附加到视图。
func highPriorityGesture<T>(_ gesture: T, including mask: GestureMask = .all) -> some View where T : Gesture
技术交流
QQ:3365059189
SwiftUI技术交流QQ群:518696470