移动应用少不了和用户交互,SwiftUI提供了大量的手势,利用这些手势,可以满足各种各样的交互场景。本节课演示单击手势的使用。
示例代码:
struct ContentView : View { @State var isPressed = false //标识视图是否被点击 var body: some View { let tapGesture = TapGesture() //初始化一个单击手势 .onEnded { _ in //该手势一旦识别到指定数量的轻触事件,就会调用手势的结束事件 self.isPressed.toggle() //当手势结束时,切换布尔属性的值 } return Circle() //绘制一个圆形,作为触摸手势的载体。 .fill(Color.orange) .frame(width: 240, height: 240) .gesture(tapGesture) //给圆形绑定刚刚定义的手势 .scaleEffect(isPressed ? 1.4 : 1) //当圆形被点击时,放大到原来的1.4倍 .animation(.default) //给圆形应用默认的动画效果 } }