统一设置导航栏

1.设置导航栏的属性

2.统一不要在根控制器上设置返回键


3.统一设置全屏滑动效果

首先我会考虑到手势影响了默认只能在边缘滑动,所以打印Nav中的手势,得到

<UIScreenEdgePanGestureRecognizer: 0x7fdcb2f3ef10; state = Possible; delaysTouchesBegan = YES; view = <UILayoutContainerView 0x7fdcb2e10d00>;

target= <(action=handleNavigationTransition:,

target=<_UINavigationInteractiveTransition 0x7fdcb2f3e980>)>>


条件反射,我会先观察UIScreenEdgePanGestureRecognizer中的属性发现了

edges,我会先设置edgs为UIRectEdgeNone,这样没有边缘不就可以全屏幕滑动了吗?事实上我错了,没有效果。

这时候就考虑加pan手势用self.interactivePopGestureRecognizer.delegate去调用系统手势的handleNavigationTransition方法


最后要在<UIGestureRecognizerDelegate>中的一个协议方法里判断是否触发这个手势



这样就可以全屏滑动啦,有没有疑问为什么2.中的判断子控制器>0,而上面判断子控制器>1,解释一下,因为2.中的判断是在所有控制器push之前做的判断,上面的判断是在push了一次之后做的判断。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值