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

iOS支持右滑返回上一页

2015-10-17 15:24 267 查看
iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。支持此手势的是UINavigationController中新增的属性。interactivePopGestureRecognizer,即右滑返回只支持以UINavigationController为容器的ViewController间切换,要想在自定义容器中使用,需要一些额外的工作。

1. 在viewcontroller声明是实现代理:

@interface MEUseInNVBaseVC : UIViewController<MEBLDelegate,UIGestureRecognizerDelegate
2. 在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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: