SwiftUI—如何给视图添加长按手势

简介: SwiftUI—如何给视图添加长按手势

本节课演示长按手势的使用,长按手势常用于显示快捷菜单。


示例代码:


struct ContentView : View {
    @GestureState var isLongPressed = false //用于刷新长按手势的状态
    var body: some View {
        let longPressGesture = LongPressGesture() //初始化一个长按手势,该手势一旦识别到长按的触摸状态,就会调用手势的结束事件。您甚至可以限制长按手势的时间长度
            .updating($isLongPressed) { value, state, transcation in //通过调用updating方法,监听手势状态的变化
                print(value, state, transcation)
                state = value
            }
            .onEnded { (value) in
                print(value)
            }
        return Circle()
            .fill(Color.orange)
            .frame(width: 240, height: 240)
            .gesture(longPressGesture)
            .scaleEffect(isLongPressed ? 1.4 : 1)
            .animation(.default)
    }
}


2466108-b5bd4c0134cef247.gif


目录
相关文章
|
7月前
|
前端开发 Swift iOS开发
在SwiftUI中,视图(Views)
在SwiftUI中,视图Views
75 2
SwiftUI—使用Text视图创建漂亮的富文本
SwiftUI—使用Text视图创建漂亮的富文本
1222 0
SwiftUI—使用Text视图创建漂亮的富文本
|
7月前
|
API iOS开发 UED
SwiftUI 设计
SwiftUI 设计
79 2
|
开发者 Python
对CBV视图的探究(1)数据显示视图
对CBV视图的探究(1)数据显示视图
78 0
|
API iOS开发
SwiftUI 中的自定义导航
默认情况下,SwiftUI提供的各种导航API在很大程度上是以用户直接输入为中心的——也就是说,导航是在系统响应例如按钮的点击和标签切换等事件时由系统本身处理的。
275 0
SwiftUI 中的自定义导航
SwiftUI—如何在PreviewProvider中使用导航视图
SwiftUI—如何在PreviewProvider中使用导航视图
402 0
SwiftUI—如何在PreviewProvider中使用导航视图
|
开发者 索引
SwiftUI极简教程27:DisclosureGroup拓展折叠视图的使用
SwiftUI极简教程27:DisclosureGroup拓展折叠视图的使用
632 0
SwiftUI极简教程27:DisclosureGroup拓展折叠视图的使用
SwiftUI—如何使一个视图同时支持多种的手势
SwiftUI—如何使一个视图同时支持多种的手势
272 0
SwiftUI—如何使一个视图同时支持多种的手势
|
定位技术
SwiftUI—使用MapKit里的地图视图
SwiftUI—使用MapKit里的地图视图
461 0
SwiftUI—使用MapKit里的地图视图
|
前端开发
SwiftUI—使用ViewModifier视图修饰符集成多个样式
SwiftUI—使用ViewModifier视图修饰符集成多个样式
376 0
SwiftUI—使用ViewModifier视图修饰符集成多个样式