如何在 iOS 应用中处理左右滑动手势?
为了在 iOS 应用中处理手势,我们将创建一个 Swift 应用,并通过示例演示。这可以通过两种方式完成:使用故事板或以编程方式。
方法 1 - 使用故事板
首先,我们将从对象库中拖动一个滑动识别器,并将其放置在我们想要添加滑动手势的视图控制器中。
然后单击手势,按住 control 并将其拖动到视图控制器类中以创建其连接。
确保该操作的发送者是 UISwipeGestureRecognizer,并且操作类似于以下内容:
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) { }
现在,iOS 中的滑动手势在其 direction 属性中提供了所做滑动的方向。direction 是一个枚举,它具有以下可能的取值:
- 右
- 左
- 下
- 上
滑动手势只能处理一个方向的滑动,即左、右、上或下。因此,我们需要创建另一个滑动识别器,并从属性检查器中将其方向设置为左。
还要记住将新识别器的操作连接到第一个识别器的操作。
现在,我们将使用此方法以及 direction 属性来处理进行的滑动。除了从故事板中进行操作外,我们还可以以编程方式进行操作。
方法 2 - 以编程方式
要以编程方式创建手势识别器,我们必须将以下代码添加到我们的 viewDidLoad 中。
var leftRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:))) leftRecognizer.direction = .left var rightRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:))) rightRecognizer.direction = .right self.view.addGestureRecognizer(leftRecognizer) self.view.addGestureRecognizer(rightRecognizer)
在这两种方法中,下面显示的 swipeMade 操作应该保持不变。
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) { if sender.direction == .left { print("left swipe made") } if sender.direction == .right { print("right swipe made") } }
当我们在设备上运行此应用程序时,我们看不到任何界面,因为我们的视图此时为空,但是当我们左右滑动时,我们在控制台中得到一个输出,显示在任一方向上都进行了滑动。
广告