如何在 iOS 设备上获取触摸位置?


在这篇文章中,我们将了解如何使用 Swift 在设备上获取触摸位置。

那么让我们开始吧。

步骤 1 − 打开 Xcode → 新建项目 → 单视图应用程序 → 我们将其命名为“TouchMe”

步骤 2 − 打开 Main.storyboard 并添加一个标签,如下所示。我们将在该标签上显示触摸位置。

步骤 3 − 为标签创建 @IBOutlet,将其命名为 touchPositionLabel。

步骤 4 − 我们将在 ViewController 中重写 touchesBegan 方法以获取视图中的触摸位置。重写方法如下所示

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
   if let touch = event?.allTouches?.first {
      let loc:CGPoint = touch.location(in: touch.view)
      self.touchPositionLabel.text = " X:\(loc.x) Y:\(loc.y) "
   }
}

每当您在屏幕上的任何位置触摸时,都会调用 touches began。这为我们提供了包含所有触摸的触摸事件。

我们仅使用 event?.allTouches?.first 中的第一个触摸点来显示触摸位置

“event” 是一个可选值,因此我们使用了 if…let 绑定来解包该值。

然后使用“let loc:CGPoint = touch.location(in: touch.view)” 获取触摸视图中的位置。

您将在上述方法中获取触摸位置。

运行项目。我们将在标签上显示位置,每当您在屏幕上的任何位置触摸时,都会看到如下所示。

更新于: 2019-09-11

900 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告