解决MKMapView无法响应interactivePopGestureRecognizer
假如页面显示了地图控件,由于地图本身可以拖动来查看其他区域,其内置的 UIPanGestureGestureRecognizer
与系统导航栏的返回手势冲突了,导致无法右滑屏幕边缘退出页面。
有一个很简单的解决方案,即在页面中增加一个不可见的视图覆盖在地图视图上方,当手指滑动到该区域的时候,由于地图被该视图覆盖在上面,所以无法响应地图的拖动事件。
private func fixNavigationSwipeGesture() {
let transparent = UIView()
transparent.backgroundColor = .clear
transparent.frame = CGRect(x: 0, y: 0, width: 16, height: view.bounds.height)
view.addSubview(transparent)
}