iOS7 NavigationController 右滑手势问题
2016-01-03 18:33
411 查看
在iOS7中,新增加了一个小小的功能,也就是这个api:
self.navigationController.interactivePopGestureRecognizer.enabled
= YES;
这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音。
这个功能是好,但是经常我们会有需求定制返回按钮,如果手动定制了返回按钮,这个功能将会失效,也就是自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。解决方法找到两种
1.重新设置手势的delegate
2.当然你也可以自己响应这个手势的事件
如果想保留系统的边缘手势, 还想修改leftBarButtonItem
在基类的ViewController中 实现如下方法,可达到保留返回方法和箭头样式,并修改文字的目的
UIBarButtonItem
*bar = [[UIBarButtonItem
alloc]
initWithTitle:@"返回"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
self.navigationItem.backBarButtonItem
= bar;
特别注意: 基类
self.navigationController.interactivePopGestureRecognizer.enabled
= YES;
这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音。
这个功能是好,但是经常我们会有需求定制返回按钮,如果手动定制了返回按钮,这个功能将会失效,也就是自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。解决方法找到两种
1.重新设置手势的delegate
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self; |
[self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)]; |
在基类的ViewController中 实现如下方法,可达到保留返回方法和箭头样式,并修改文字的目的
UIBarButtonItem
*bar = [[UIBarButtonItem
alloc]
initWithTitle:@"返回"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
self.navigationItem.backBarButtonItem
= bar;
特别注意: 基类
相关文章推荐
- iOS自定义代码补全
- iOS如何配置PCH文件
- iOS简单引导页面的实现,只在用户第一次登录时出现,以后不出现
- 7 Steps to Upgrade IOS Image on Cisco Catalyst Switch or Router
- Xamarin IOS无法编译的时候报Xamarin.iOS.Common.targets error,但无其他错误提示
- iOS开发-NSUndoManager撤销(undo)和重做(redo)
- iOS 二维码窗口
- IOS基础总结
- OC倒计时
- Xcode7真机测试详细教程!7.2可支持ios9.2系统!
- iOS 3D touch 使用技巧
- iOS小型计算器
- Static Libs With Support to iOS 5 and Arm64
- ios 使用ZBar读取条形码和二维码
- iOS崩溃调试的使用和技巧总结
- 支付宝 iOS SDK 的简单使用
- CALayer - 12
- iOS 常量的声明和实现
- CALayer - 11
- ios之KVO机制