iOS中原本是默认就存在侧滑返回的,但是这个侧滑返回有一点不完美。现在很多人都是用单手(右手)来玩手机的,而且一般是用右手的拇指去实现侧滑返回这个功能。但苹果原生的侧滑返回是必须在靠近屏幕的左侧边缘侧滑才能实现,正常的话拇指触碰到手机的左侧边缘很不方便,所以为了更好的用户体验,最好是让用户从任何位置都能实现这个操作,这样我们就可以在自定义的BaseViewController中去做些处理,然后其他的控制器都继承于这个就可以了。
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
let target = self.navigationController?.interactivePopGestureRecognizer!.delegate
let pan = UIPanGestureRecognizer(target: target, action: ("handleNavigationTransition:"))
pan.delegate = self
self.view.addGestureRecognizer(pan)
self.navigationController?.interactivePopGestureRecognizer!.isEnabled = true
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
if childViewControllers.count == 1 {
return false
}else{
return true
}
}