ios - 如何检查滑动是否在堆栈 View 的范围内

标签 ios swift xcode

堆栈溢出,

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

  • 第一个 Stackview
    • 第二个堆栈 View
      • 标签
      • 标签

我想获取第二个堆栈 View 的坐标,并确保用户在该框中滑动。如何做到这一点?

谢谢, 巨密码

最佳答案

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

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

这是由 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")
    }
}

关于ios - 如何检查滑动是否在堆栈 View 的范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44642777/

相关文章:

ios - 显示不带 UIButton 或 UINavigationButton 的 UIMenu

iphone - 如何处理来自 3rd 方库的重复符号错误?

ios - 我是否需要包含非视网膜 iPhone 和 6+ 的图像?

iOS BoxSDK 为 sharedLink 返回 nil

ios - 如何使用 Eureka 制作多行标签

ios - 显示键盘时禁用按钮

ios - Swift:在 GCD 中使用引用类型

ios - Collection View 的复选框无需单击即可执行操作

ios - 测试本地推送通知

objective-c - 使用 CNCopyCurrentNetworkInfo 的问题