iOS - 实现UINavigation全屏动返回(二)
在 iOS - 实现UINavigation全屏滑动返回(一) 中我们实现了滑动返回的功能,但不是全屏滑动返回,得在左侧边缘轻扫才能滑动返回~UINavigationController自带的只能在边缘轻扫才能滑动返回,这用户体验是不好的,接下来实现全屏滑动返回!
+
回顾在 iOS - 实现UINavigation全屏滑动返回(一) 中我们实现了滑动返回的功能,但不是全屏滑动返回,得在左侧边缘轻扫才能滑动返回~UINavigationController自带的只能在边缘轻扫才能滑动返回,这用户体验是不好的,接下来实现全屏滑动返回!
思路既然自带的滑动返回只能是在边缘,那我们能不能修改使它触摸范围变大甚至全屏呢?先来看下系统手势有没有提供属性或方法供我们使用1NSLog(@"%@", self.interactivePopGestureRecognizer);打印信息:123456/*<UIScreenEdgePanGestureRecognizer: 0x7fd542611e20; state = Possible; delaysTouchesBegan = YE ...
iOS - 实现UINavigation全屏动返回(一)
interactivePopGestureRecognizer 是UINavigationController自带手势,当我们自定义了导航条的返回按钮后,这个手势就自动失效了,也就是说无法滑动返回。+
要点interactivePopGestureRecognizer 是UINavigationController自带手势,当我们自定义了导航条的返回按钮后,这个手势就自动失效了,也就是说无法滑动返回。
条件很多情况下我们不得不自定义导航条的返回按钮,但是我们也要滑动返回上一级的效果。
思路既然自动失效,那我们就告诉它什么时候生效。
在非根控制器下生效(用于滑动返回上一级)
在根控制器下失效(防止根控制器被移除,当然系统不会让我们把它移除,只是会出现bug)翻译:第一个被添加的控制器成为永远不会被出栈的根控制器
步骤自定义一个 UINavigationController ,即继承于 UINavigationController ,名字为 LXFNavigationController ,将代理设为自己,遵守协议 UINavigationControllerDelegate , ...
