如何检查滑动是否在堆栈视图的范围内

时间:2017-06-20 02:19:04

标签: ios swift xcode

Stack Overflow,

我正在尝试检查嵌套堆栈视图中是否发生了滑动。在我的特定示例中,我有以下层次结构:

  • 第一个Stackview
    • 第二个Stackview
      • 标签
      • 标签

我想获取第二个堆栈视图的坐标,并确保用户在该框中滑动。怎么办呢?

谢谢, Marcocypher

1 个答案:

答案 0 :(得分:2)

最简单的选择是将UISwipeGestureRecognizer附加到第二个Stackview。它只会在用户平移该区域时触发。

另一种选择是将UISwipeGestureRecognizer附加到堆栈的上方并使用提供的方法来测试手势的位置是否在视图内。

以下是UISwipeGestureRecognizer

触发的操作的实现
@IBAction func gestureActivated(_ sender: UISwipeGestureRecognizer) {
    let location = sender.location(in: secondStackView)
    if secondStackView.point(inside: location, with: nil) {
        print("Hit Second Stackview")
    } else {
        print("Outside Second Stackview")
    }
}