SwiftUI|SwiftUI Button监听点击和释放消息 实现照片切换 (教程含源码 技术大全)

实战需求 SwiftUI Button监听点击和释放消息 实现照片切换
本文价值与收获 看完本文后,您将能够作出下面的界面 SwiftUI|SwiftUI Button监听点击和释放消息 实现照片切换 (教程含源码 技术大全)
文章图片
截屏2020-11-08 上午10.12.44.png Jietu20201108-101403.gif 看完本文您将掌握的技能

  • simultaneousGesture
  • ViewModifier
  • @escaping
  • DragGesture
  • overlay
  • GeometryReader
  • contentShape(Rectangle())
基础知识 simultaneousGesture 同时手势 一个包含两个手势的手势,两个手势可以同时发生,而两个手势都不在另一个手势之前。
@frozen struct SimultaneousGesture where First : Gesture, Second : Gesture

总览
同时手势是容器事件处理程序,可同时评估其两个子手势。它的值是具有两个可选值的结构,每个值代表两个手势之一的阶段。
参考代码
struct PressActions: ViewModifier { var onPress: () -> Void var onRelease: () -> Voidfunc body(content: Content) -> some View { content .simultaneousGesture( DragGesture(minimumDistance: 0) .onChanged({ _ in onPress() }) .onEnded({ _ in onRelease() }) ) } }

@escaping 【SwiftUI|SwiftUI Button监听点击和释放消息 实现照片切换 (教程含源码 技术大全)】出于性能方面的考虑,Swift假定所有闭包都是不存储数据的,这意味着它们将在函数内部立即使用而不被存储,这反过来意味着Swift不会触及引用计数。如果您需要存储闭包,那么Swift要求您将闭包标注为@escapeing,以便必须更改引用计数。
实战代码

    推荐阅读