iOS 按钮与自定义键盘上的边缘手势冲突

iOS Buttons Conflicting with Edge Gestures on Custom Keyboard

我的自定义键盘上的按钮位于屏幕的左侧和右侧,具有 .touchdown 操作。当我点击它们时,它们不会立即注册 .touchdown 并且似乎在等着看是否有滑动手势。我尝试使用代码来推迟边缘手势,但在 iOS 13 中,这似乎并不能解决问题。有没有人有关于如何让边缘上的按钮在单击时立即执行 .touchdown 操作的解决方案?

override var preferredScreenEdgesDeferringSystemGestures: UIRectEdge {
    return [.left, .bottom, .right]
}

我也试过在自定义按钮中使用点功能 class 但这只会使其突出显示但仍然不会立即执行操作。

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
    let inside = super.point(inside: point, with: event)

    if inside && !isHighlighted && event?.type == .touches {
        isHighlighted = inside
    }

    return bounds.insetBy(dx: -2.7, dy: -12).contains(point)
}
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    if let window = view.window,
        let recognizers = window.gestureRecognizers {
        recognizers.forEach { r in
            r.delaysTouchesBegan = false
            r.cancelsTouchesInView = false
            r.isEnabled = false
        }
    }
}