如何使用 UIGestureRecognizerDelegate?

How to use UIGestureRecognizerDelegate?

我的设置

我正在尝试复制Google现在的卡片界面。

我有一个 UIView,它是 UIScrollView(内部)的子视图。两者都由同一个 UIViewController 控制。 UIView 通过 UIViewController.

附加了一个 UIPanGestureRecognizer

UIScrollView用于上下滚动。 UIPanGestureRecognizer 用于滑动 UIView

问题

我在触摸 UIView(卡片)时无法滚动

问题

如何实施 UIGestureRecognizerDelegate 以在卡上启用 gestureRecognizer(_:shouldRecognizeSimultaneouslyWithGestureRecognizer:) 以便让 UIScrollView 滚动?

我花了几个小时试图解决这个问题,非常感谢您的帮助。

如果有人想知道如何做到这一点,答案如下:

当您声明 class 时,在 class 子 class 之后添加 UIGestureRecognizerDelegate。这是我的情况:

class CardViewController: UIViewController, UIGestureRecognizerDelegate

接下来,将此函数添加到 UIViewController 的正文中:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

最后,您对 UIPanGestureRecognizer:

somePanGestureRecognizer.delegate = self