原文链接:https://github.com/fzhlee/SwiftUI-Guide#-%E7%AC%AC1%E8%8A%82tapgesturesingle-tap-
移动应用少不了和用户交互,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) //给圆形应用默认的动画效果
}
}
网友评论