您的位置:首页 > 移动开发 > IOS开发

iOS7 NavigationController 右滑手势问题

2016-01-03 18:33 411 查看
在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:)];

如果想保留系统的边缘手势, 还想修改leftBarButtonItem

在基类的ViewController中 实现如下方法,可达到保留返回方法和箭头样式,并修改文字的目的
UIBarButtonItem
*bar = [[UIBarButtonItem
alloc]
initWithTitle:@"返回"
style:UIBarButtonItemStylePlain
target:nil
action:nil];

self.navigationItem.backBarButtonItem
= bar;

特别注意: 基类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: