TapGesture (SwiftUI中文文档手册)

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。