Android NavigationController 右滑手势详解

2019-12-10 19:45:22王旭
目前苹果手机在人机交互中尽力做到极致,在ios7中,新增了一个小小功能,用户不用点击右上角的返回按钮,在屏幕左边一滑,就会返回。下面给大家详解Android NavigationController 右滑手势,需要的朋友可以参考下  

苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationController.interactivePopGestureRecognizer.enabled = YES;

这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音。

这个功能是好,但是经常我们会有需求定制返回按钮,如果手动定制了返回按钮,这个功能将会失效,也就是自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。

解决方法找到两种

1.重新设置手势的delegate

 

复制代码
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

 

2.当然你也可以自己响应这个手势的事件

 

复制代码
[self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)];

 

有更多方法以后继续补充,这里可以根据自己需要进行选择,如果只是简单定制了返回按钮,第一种最简单,一句代码搞定。

问题二:ios开发 向右滑动手势实现返回.在NavigationController中如何设置

在navigationController中实现向右滑动 返回功能

系统提供的backbarbuttonitem,不用添加任何代码即可实现向右滑动后退功能,但是往往要对按钮修改样式等时,就需要自定义leftbarbuttonitem,此时向右滑动即失效.通过下面方法即可解决该问题.(本人亲自实验过)

主要是通过设置navigationController.interactivePopGestureRecognizer 此手势的一些属性,此手势大家可以通过sdk查看说明,这里不细说

1. self.navigationController.interactivePopGestureRecognizer.enabled = YES | NO;      手势有效与否