gpt4 book ai didi

ios - UIPanGestureRecognizer 不适用于 UIControlEvents

转载 作者:行者123 更新时间:2023-11-29 00:27:41 32 4
gpt4 key购买 nike

我制作了一个自定义 UIControl,它使用 UIControlEvents 来识别某些交互。一切都很好。现在我还希望我的 UIControl 能够识别 UIPanGestureRecognizer,这是代码

fieldView.addTarget(self, action: #selector(willSelectField(sender:)), for: .touchDown)
fieldView.addTarget(self, action: #selector(didSelectField(sender:)), for: .touchUpInside)
fieldView.addTarget(self, action: #selector(canceledFieldSelection(sender:)), for: .touchUpOutside)
fieldView.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(draggingField(gesture:))))

因此,当我单击我的 fieldView(自定义 UIControl)时,touchDown 将被识别。如果我不开始平移,touchUpInsidetouchUpOutside 也会被识别。但是,如果我平移,例如放开我的 fieldViewtouchUpOutside 将不会被触发。


注意: touchDragInside 不是替代方案,因为它只能识别在大约 100 像素范围内的拖动。

最佳答案

参见 reference :

If a gesture recognizer recognizes its gesture, the remaining touches for the view are cancelled.

您可以尝试将 cancelsTouchesInView 设置为 false,或在 View 中覆盖 touchesCancelled(_:with:)

关于ios - UIPanGestureRecognizer 不适用于 UIControlEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42624671/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com