在我的应用程序中,我正在使用由平移手势触发的UIPercentDrivenInteractiveTransition来解除viewController.我期待我将viewController拖到右边,因为我正在平移它.然而,当我慢慢地平移时,我得到一个小故障:viewController从左到右快速跳跃一点.
这可以在这里看到:https://youtu.be/3IEtId1w7jM
这是过渡的代码:
class FilterHideTransition: UIPercentDrivenInteractiveTransition {
let viewController: FilterViewController
var enabled = false
private let panGesture = UIPanGestureRecognizer()
private let tapGesture = UITapGestureRecognizer()
init(viewController: FilterViewController) {
self.viewController = viewController
super.init()
panGesture.addTarget(self, action: #selector(didPan(with:)))
panGesture.cancelsTouchesInView = false
panGesture.delegate = self
tapGesture.addTarget(self, action: #selector(didTap(with:)))
tapGesture.cancelsTouchesInView = false
tapGesture.delegate = self
viewController.view.addGestureRecognizer(panGesture)
viewController.view.addGestureRecognizer(tapGesture)
}
}
//MARK: - Actions
private extension FilterHideTransition {
@objc func didPan(with recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translation(in: viewController.view)
let percentage = translation.x …Run Code Online (Sandbox Code Playgroud)