gpt4 book ai didi

ios - 屏幕旋转后 UIPanGestureRecognizer 无法进入 .ended 状态

转载 作者:行者123 更新时间:2023-11-28 09:21:42 24 4
gpt4 key购买 nike

UIPanGestureRecognizer 处于 .changed 状态时,我在处理屏幕旋转时遇到问题。我的处理逻辑类似于:

@objc fileprivate func handlePanGesture() {
let state = self.panGestureRecognizer.state
if state == .began {
// Log beginning state
} else if state == .changed {
// Track position, update constraints
} else if state == .ended {
// Reset and prepare for new gesture
}
}

一切似乎都运行良好,但是当设备旋转到新方向时(没有抬起手指),手势识别器停止接收事件触摸的更新,但永远不会触发 handlePanGesture().ended 状态集。

现在我正在通过寻找 viewWillTransition(to:with:) 并在发生这种情况时清理状态来处理这个问题,但是这种方法在例如 iPad 从肖像右侧向上到肖像倒置 - 从来没有任何尺寸过渡。是否可以采取一些措施来取消旋转时的手势识别器(并触发对 handlePanGesture() 的调用)?

最佳答案

您还需要检查 .cancelled 状态。

顺便说一下,切换状态而不是 if, else if, else if, else if

关于ios - 屏幕旋转后 UIPanGestureRecognizer 无法进入 .ended 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57402776/

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