本节课演示旋转手势的使用,旋转手势常用于对图片进行旋转操作,需要同时使用到两个手指。
示例代码:
struct ContentView : View { @State var angle = 0.0 //表示图像视图进行旋转的角度 var body: some View { let rotationGesture = RotationGesture(minimumAngleDelta: Angle.init(degrees: 20)) //初始化一个旋转手势,该手势一旦识别到双指旋转滑动的触摸事件,就会调用手势的结束事件 .onChanged({ (angle) in self.angle += angle.animatableData 当旋转手势的状态完成变化时,将当前视图的角度数值,加上旋转手势返回的角度 }).onEnded { (angle) in //当旋转手势结束时,在控制台输出角度属性的数值 print(self.angle) } return Image("logo") //图像视图作为旋转手势的载体 .gesture(rotationGesture) .rotationEffect(Angle.init(degrees: self.angle)) //对视图进行旋转操作,旋转的角度为属性的值 } }