如何在 Swift 中以编程方式调用 UIView 上的点击手势?


在 Swift 中,您可以使用 UITapGestureRecognizer 类以编程方式在视图上添加点击手势。此类为您提供了不同的属性和方法来启用点击手势。在本文中,您将学习如何添加点击手势并附带示例。

UITapGestureRecognizer 类

UITapGestureRecognizer 是 UIKit 框架中一个内置的类,它识别视图上的点击手势。点击手势是指用一根或多根手指在屏幕上快速触摸。UITapGestureRecognizer 识别特定数量手指的点击、特定次数的点击以及两者的组合。

要使用该类,您必须创建一个实例并配置一些启用点击手势所需的属性。之后,您必须添加一个目标选择器以在点击对象时处理点击事件。此步骤是处理事件所需的。

示例

以下是如何创建和使用 UITapGestureRecognizer 的示例:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture))
tapGesture.numberOfTapsRequired = 2
tapGesture.numberOfTouchesRequired = 1
view.addGestureRecognizer(tapGesture)
view.isUserInteractionEnabled = true
@objc private func handleTapGesture() {
   print("tap gesture executed...")
}

输出

tap gesture executed…

在此示例中,创建了一个 UITapGestureRecognizer,其目标设置为 self,表示当前视图控制器是目标对象,并且操作设置为 #selector(handleTapGesture),表示当识别到点击手势时将调用 handleTapGesture 方法。numberOfTapsRequired 属性设置为 2,表示点击手势将识别双击,numberOfTouchesRequired 属性设置为 1,表示点击手势将识别用一根手指的点击。最后,使用 addGestureRecognizer 方法将点击手势识别器添加到视图中。

以下是如何自定义点击手势识别器行为的更多详细信息

  • 所需的点击次数 - 默认情况下,点击手势识别器识别单个点击。您可以通过将 numberOfTapsRequired 属性设置为不同的值来更改此设置。

  • 所需的手指数量 - 默认情况下,点击手势识别器识别一根手指的点击。您可以通过将 numberOfTouchesRequired 属性设置为不同的值来更改此设置。

  • 取消正在进行的触摸 - 默认情况下,当点击手势识别器识别点击时,它会取消任何正在进行的触摸。您可以通过将 cancelsTouchesInView 属性设置为 false 来更改此行为。

结论

总之,UITapGestureRecognizer 是 UIKit 框架中一个内置的类,它识别视图上的点击手势。您可以创建该类的实例,根据需要配置其属性,并将其添加到视图以识别点击。您可以通过设置其 numberOfTapsRequired、numberOfTouchesRequired、cancelsTouchesInView 和 requireGestureRecognizerToFail 属性来自定义点击手势识别器的行为。

当用户点击视图时,识别器会向其目标对象发送消息,该目标对象可以是视图控制器或已设置为处理点击的其他对象。UITapGestureRecognizer 是一种简单而实用的方法,可以为您的 iOS 应用程序添加交互性,并且您可以将其与其他手势识别器和 UIKit 类结合使用以创建更复杂和有趣的用户交互。

更新于: 2023年5月4日

3K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告