如何在 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 类结合使用以创建更复杂和有趣的用户交互。