// 设置侧滑手势的 delegate 为当前控制器(这里使用的 FDFullscreenPopGesture, 系统自带侧滑手势为 interactivePopGestureRecognizer)
self.navigationController?.fd_fullscreenPopGestureRecognizer.delegate = self
// 实现代理方法
extension ELWebViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if let pan = gestureRecognizer as? UIPanGestureRecognizer {
// 侧滑距离超过 100 pop 当前控制器
let velocity = pan.velocity(in: self.webView)
debugPrint("velocity.x=\(velocity.x) velocity.y=\(velocity.y)")
if velocity.x > 100 && fabsf(Float(velocity.y)) <= 100 {
if self.webView.canGoBack {
self.webView.goBack()
return false
}
}
}
return true
}
}
iOS 拦截侧滑返回事件
最新推荐文章于 2022-12-02 16:08:28 发布