iOS支持右滑返回上一页
2015-10-17 15:24
267 查看
iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。支持此手势的是UINavigationController中新增的属性。interactivePopGestureRecognizer,即右滑返回只支持以UINavigationController为容器的ViewController间切换,要想在自定义容器中使用,需要一些额外的工作。
1. 在viewcontroller声明是实现代理:
二、右滑出现三个小点
这样就可以了,但是发现滑动的时候会有问题,当你右滑得时候,navigationBar上会出现三个绿色小点,右滑一半松手,绿色小点会固定在navigationBar上,而且位置不规律,可以肯定这个不是项目代码或者图片搞出来的东西,一定是SDK自己蹦出來的。后台尝试发现navigationItem的title如果是nil的话,就会有这个问题。 解决方案:把[self.navigationItem setHidesBackButton:YES];去掉,然後把假装成返回按钮的navigationItem的title设置成@""。
1. 在viewcontroller声明是实现代理:
@interface MEUseInNVBaseVC : UIViewController<MEBLDelegate,UIGestureRecognizerDelegate2. 在viewDidLoad中,添加
self.navigationController.interactivePopGestureRecognizer.delegate = self;3. 重写代理方法
#pragma mark - UIGestureRecognizerDelegate - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { if (self.navigationController.viewControllers.count == 1)//关闭主界面的右滑返回 { return NO; } else { return YES; } }
二、右滑出现三个小点
这样就可以了,但是发现滑动的时候会有问题,当你右滑得时候,navigationBar上会出现三个绿色小点,右滑一半松手,绿色小点会固定在navigationBar上,而且位置不规律,可以肯定这个不是项目代码或者图片搞出来的东西,一定是SDK自己蹦出來的。后台尝试发现navigationItem的title如果是nil的话,就会有这个问题。 解决方案:把[self.navigationItem setHidesBackButton:YES];去掉,然後把假装成返回按钮的navigationItem的title设置成@""。
//[self.navigationItem setHidesBackButton:YES]; self.navigationItem.title = @""; [self setNavLeftButtonByImage:@"back_icon_orange" selectedImageName:nil];