SwiftUI 中如何获取任意视图触摸位置(全局或局部)的坐标

SwiftUI 中如何获取任意视图触摸位置(全局或局部)的坐标_第1张图片



功能需求

在 SwiftUI 开发中,我们往往需要取得某个视图触摸位置(全局或局部)的坐标。

SwiftUI 中如何获取任意视图触摸位置(全局或局部)的坐标_第2张图片

如上图所示,我们在所有 SwiftUI 版本中实现了视图触摸位置的跟踪功能。

如果大家的 App 仅需支持 iOS 16+ (SwiftUI 4.0+),那么 SwiftUI 提供了超简单的原生方法,但是仅限单次点击的跟踪。

不过,使用在本篇博文中介绍的方法,我们可以在任意 SwiftUI 版本中实现任意视图触摸位置连续改变时的跟踪。

小伙伴们准备好了吗?让我们马上开始吧!

Let’s go!!!



功能分析

1. SwiftUI 4.0 获取视图点击坐标

在 iOS 16 中,SwiftUI 4.0 增加了新的视图点击手势修改器方法,我们可以轻松在回调闭包中获取点击的位置坐标:

SwiftUI 中如何获取任意视图触摸位置(全局或局部)的坐标_第3张图片

我们可以这样调用上面的方法

你可能感兴趣的:(开发疑难秒懂百科,swiftui,iOS,16,触摸位置坐标,点击位置坐标,onTapGesture)